青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

技術,瞎侃,健康,休閑……

mahu@cppblog 人類的全部才能無非是時間和耐心的混合物
posts - 11, comments - 13, trackbacks - 0, articles - 12
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

The 3n + 1 problem

Posted on 2006-06-10 00:41 mahudu@cppblog 閱讀(1328) 評論(3)  編輯 收藏 引用 所屬分類: C/C++

Background

Problems in Computer Science are often classified as belonging to a certain class of problems (e.g., NP, Unsolvable, Recursive). In this problem you will be analyzing a property of an algorithm whose classification is not known for all possible inputs.

The Problem

Consider the following algorithm:

1.	input n

2. print n

3. if n = 1 then STOP

4. if n is odd then tex2html_wrap_inline44

5. else tex2html_wrap_inline46

6. GOTO 2

Given the input 22, the following sequence of numbers will be printed 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1

It is conjectured that the algorithm above will terminate (when a 1 is printed) for any integral input value. Despite the simplicity of the algorithm, it is unknown whether this conjecture is true. It has been verified, however, for all integers n such that 0 < n < 1,000,000 (and, in fact, for many more numbers than this.)

Given an input n, it is possible to determine the number of numbers printed (including the 1). For a given n this is called the cycle-length of n. In the example above, the cycle length of 22 is 16.

For any two numbers i and j you are to determine the maximum cycle length over all numbers between i and j.

The Input

The input will consist of a series of pairs of integers i and j, one pair of integers per line. All integers will be less than 1,000,000 and greater than 0.

You should process all pairs of integers and for each pair determine the maximum cycle length over all integers between and including i and j.

You can assume that no opperation overflows a 32-bit integer.

The Output

For each pair of input integers i and j you should output i, j, and the maximum cycle length for integers between and including i and j. These three numbers should be separated by at least one space with all three numbers on one line and with one line of output for each line of input. The integers i and j must appear in the output in the same order in which they appeared in the input and should be followed by the maximum cycle length (on the same line).

Sample Input

1 10
100 200
201 210
900 1000

Sample Output

1 10 20
100 200 125
201 210 89
900 1000 174

Solution ?

#include <iostream>

using namespace std;

?

int cycle(intm)

{

?? int i = 1;

?? while (m != 1){

????? if(m%2)

??????? m = m*3 + 1;

????? else

??????? m /= 2;

????? i++;

?? }

?? return i;

}??

?

int main()

{

?? int m,n,max,temp;

?? int mOriginal,nOriginal;

?? int i;

?

?? while (cin >> m >> n){

????? mOriginal = m;

????? nOriginal = n;

????? if (m > n){

??????? temp = m;

??????? m = n;

??????? n = temp;

????? }

?

????? max = cycle(m);

????? for (i = m+1; i <= n; i++){

??????? temp = cycle(i);

??????? if (temp > max){

?????????? max = temp;

??????? }

????? }?

????? cout << mOriginal << " " << nOriginal << " " << max << endl;

?? }

?? return 0;

}

Feedback

# re: The 3n + 1 problem  回復  更多評論   

2007-11-14 20:34 by 無意中看到
你這個程序屬于很難通過的,基本上會碰到超時問題
輸入: 1 1000000
看你多牛的計算機3秒能搞出來
這是典型的dp問題,暴力是不好用的

# re: The 3n + 1 problem  回復  更多評論   

2008-10-18 17:17 by TaiwanNo.1
/*
這個可以以0.7 sec完成
*/
#include <stdio.h>

int compute(int a)
{
int cnt = 1;
while(a > 1)
{
a & 0x01 ? (a = (a<<1) + a + 1) : (a >>= 1);
++cnt;
}
return cnt;
}


int a, b, c;
int i, j;
int main(void)
{

while(0 < scanf("%d %d", &i, &j))
{
c = 0;
i < j ? (a = i, b = j) : (a = j, b = i);
while(a <= b)
{
int tmp = compute(a++);
if(tmp > c)
c = tmp;
}
printf("%d %d %d\n", i, j, c);
}
return 0;
}

# re: The 3n + 1 problem  回復  更多評論   

2011-01-16 13:39 by UDHeart
@TaiwanNo.1
...我就是這樣寫的,沒有這么快
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲男女自偷自拍图片另类| 欧美日韩在线免费| 久久国产精品99精品国产| 亚洲尤物在线视频观看| 99视频精品| 亚洲一区二区在线看| 亚洲午夜成aⅴ人片| 亚洲尤物在线视频观看| 欧美在线一区二区三区| 久久免费国产精品1| 欧美肥婆在线| 亚洲免费av观看| 亚洲欧美日韩精品在线| 欧美在线影院| 美女网站在线免费欧美精品| 欧美日韩一区二区三区四区在线观看 | 亚洲欧美精品在线观看| 香蕉成人啪国产精品视频综合网| 久久精品一区四区| 欧美国产精品日韩| 国产精品欧美日韩一区| 影音先锋在线一区| 一区二区高清| 国产一区二区精品久久99| 在线成人激情黄色| 99re6这里只有精品| 午夜视频在线观看一区| 欧美成黄导航| 亚洲一区欧美激情| 亚洲一级片在线看| 久久一区二区三区四区| 99国产精品视频免费观看一公开 | 一区二区三区黄色| 久久久久久有精品国产| 国产精品久久久一区麻豆最新章节| 国产欧美一区二区三区在线老狼 | 欧美怡红院视频| 亚洲高清资源| 亚洲免费一级电影| 欧美日韩国产在线观看| 在线成人国产| 久久se精品一区二区| 日韩网站在线看片你懂的| 久久午夜精品一区二区| 韩国一区二区三区在线观看| 亚洲欧美韩国| 一区二区三区精品视频在线观看| 欧美国产免费| 亚洲欧洲综合另类| 欧美成人dvd在线视频| 欧美在线观看一区| 国产精品欧美日韩久久| 亚洲午夜视频在线观看| 日韩视频欧美视频| 欧美日本亚洲韩国国产| 最新69国产成人精品视频免费| 久久九九国产| 午夜精品福利电影| 国产农村妇女精品一区二区 | 亚洲国产成人精品女人久久久| 欧美一区二区三区在线观看视频| 国产精品揄拍一区二区| 亚洲综合日韩在线| 一区二区三区免费在线观看| 欧美日韩成人一区二区三区| 一区二区三区久久精品| 日韩天堂在线视频| 国产精品第一页第二页第三页| 一区二区三区福利| 亚洲美女免费视频| 欧美日韩综合视频| 亚洲一区二区少妇| 亚洲欧美国产另类| 国产网站欧美日韩免费精品在线观看| 欧美主播一区二区三区| 欧美亚洲一区二区三区| 亚洲综合电影一区二区三区| 欧美午夜视频在线| 欧美一区二区三区四区在线观看地址| 亚洲欧美资源在线| 在线免费观看日本欧美| 最新日韩中文字幕| 国产精品欧美精品| 久久久国产视频91| 久久婷婷国产综合尤物精品| 99精品欧美一区| 亚洲免费网址| 亚洲国内精品| 亚洲一区免费网站| 亚洲人成免费| 中文精品99久久国产香蕉| 国产欧美日韩视频| 亚洲国产精品成人综合色在线婷婷| 欧美日韩二区三区| 久久久噜噜噜久久狠狠50岁| 欧美精品一区三区| 欧美一区二区三区电影在线观看| 久久久久久**毛片大全| 一区二区三区www| 欧美一区高清| 亚洲精品乱码久久久久| 欧美一级网站| 中文一区二区在线观看| 久久久精品国产免费观看同学| 亚洲视频免费在线| 久久午夜精品| 久久成人18免费网站| 欧美极品在线播放| 美女国产一区| 国产九色精品成人porny| 亚洲国产精品一区二区三区| 国产精品一区毛片| 亚洲电影免费观看高清完整版在线| 国产精品一区二区三区乱码| 亚洲国产高清在线观看视频| 精品成人一区二区三区| 亚洲自拍偷拍福利| 一区二区欧美在线观看| 米奇777超碰欧美日韩亚洲| 欧美中文在线视频| 国产精品久久91| 在线视频免费在线观看一区二区| 亚洲第一视频| 久久成人国产精品| 欧美在线网址| 国产欧美精品一区二区色综合| 一区二区三区精品视频| 一区二区国产日产| 欧美激情亚洲激情| 亚洲盗摄视频| 亚洲人成在线观看网站高清| 久久精品国产清高在天天线| 久久久久一区二区| 国产亚洲精久久久久久| 亚洲欧洲av一区二区三区久久| 亚洲欧美日韩综合一区| 国产精品久久久久一区二区三区共| 亚洲精品小视频| 在线视频精品一区| 欧美网站在线观看| 一区二区三区鲁丝不卡| 亚洲一区二区三区中文字幕| 国产精品人成在线观看免费 | 欧美精品色网| 日韩午夜电影| 亚洲影院污污.| 国产精品热久久久久夜色精品三区| 国产精品99久久久久久久久久久久 | 伊人精品视频| 美女亚洲精品| 亚洲精品国产拍免费91在线| 一本在线高清不卡dvd| 欧美日韩国产在线播放| 亚洲午夜久久久久久久久电影院| 欧美一区二区三区免费观看| 国产热re99久久6国产精品| 久久国产乱子精品免费女| 久久久免费精品视频| 亚洲电影免费观看高清完整版在线观看| 久久蜜桃资源一区二区老牛 | 亚洲乱码精品一二三四区日韩在线| 一区二区三区视频在线| 国产精品呻吟| 老司机凹凸av亚洲导航| av不卡在线| 蜜臀久久久99精品久久久久久| 亚洲美女毛片| 国产一区二区三区无遮挡| 嫩草影视亚洲| 亚洲综合国产| 亚洲国产精品福利| 欧美综合国产| 日韩视频在线一区二区三区| 国产精品区一区二区三区| 久久久久久久999| 亚洲精品日韩一| 久久精品国产2020观看福利| 在线免费观看日本欧美| 国产精品乱码一区二三区小蝌蚪 | 欧美超级免费视 在线| 亚洲午夜国产一区99re久久| 国产一区 二区 三区一级| 卡通动漫国产精品| 亚洲免费网站| 亚洲最新视频在线播放| 嫩草国产精品入口| 亚洲欧美日韩在线| 亚洲精品永久免费| 国产日韩欧美在线播放| 欧美日韩亚洲一区| 美玉足脚交一区二区三区图片| 亚洲欧美另类国产| 亚洲看片网站| 亚洲国产成人久久| 蜜臀va亚洲va欧美va天堂| 欧美亚洲日本国产| 亚洲欧洲99久久| 亚洲一区二区三区免费在线观看| 亚洲欧洲一级| 亚洲激情在线观看视频免费|