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

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

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

The 3n + 1 problem

Posted on 2006-06-10 00:41 mahudu@cppblog 閱讀(1349) 評論(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>
            久久久久88色偷偷免费| 亚洲欧美在线一区二区| 亚洲无毛电影| 国产精品视频一二| 久久天天狠狠| 欧美成人国产va精品日本一级| 亚洲三级影院| 一区二区欧美日韩| 国产在线不卡精品| 亚洲电影自拍| 欧美激情一区二区| 午夜精彩视频在线观看不卡| 亚洲东热激情| 国产精品毛片高清在线完整版| 久久久久9999亚洲精品| 欧美成人精品福利| 亚洲摸下面视频| 久久精品在线| 日韩视频中午一区| 午夜国产精品视频| 91久久午夜| 亚洲一品av免费观看| 在线观看精品视频| 久热精品视频在线| 欧美日韩国产一区精品一区| 久久成人一区二区| 欧美成ee人免费视频| 亚洲欧美不卡| 久久综合久久久久88| 亚洲一区免费在线观看| 久久精品二区亚洲w码| 99国产精品久久久久久久久久 | 亚洲激情在线视频| 国产精品羞羞答答xxdd| 欧美高清一区| 欧美激情一区在线| 久久狠狠亚洲综合| 在线亚洲一区| 久久久亚洲精品一区二区三区 | 久久成年人视频| 99在线视频精品| 久久黄色小说| 亚洲免费在线视频一区 二区| 久久久久高清| 亚洲欧美日韩另类精品一区二区三区| 久久久久久久综合狠狠综合| 亚洲一区欧美二区| 欧美国产精品v| 久久久亚洲精品一区二区三区| 欧美日韩国产三区| 免费欧美日韩| 国产女精品视频网站免费| 亚洲激情一区二区| 狠狠色丁香久久婷婷综合_中| 一区二区三区国产| 亚洲精品黄网在线观看| 久久国产精品亚洲va麻豆| 亚洲在线观看视频| 欧美国产精品v| 免费观看久久久4p| 国产视频在线观看一区二区| 99re这里只有精品6| 在线观看欧美亚洲| 午夜精品在线观看| 亚洲一区在线直播| 欧美精品18videos性欧美| 老鸭窝毛片一区二区三区| 国产精品视频一二| 一本色道久久综合狠狠躁的推荐| 91久久精品一区二区别| 久久精品视频在线看| 欧美一区二区三区视频免费播放 | 蜜桃伊人久久| 国产视频一区欧美| 亚洲网站在线播放| 亚洲一区二区三区四区五区午夜| 欧美成人精品三级在线观看| 玖玖国产精品视频| 国产亚洲高清视频| 亚洲自拍偷拍福利| 亚洲免费在线视频| 欧美午夜一区| 99精品国产热久久91蜜凸| 在线视频欧美精品| 亚洲伦理在线观看| 美女尤物久久精品| 男人的天堂亚洲| 激情亚洲网站| 亚洲欧美久久久| 亚洲欧美文学| 国产精品美女久久久久久久 | 欧美激情在线| 亚洲黄色毛片| 亚洲精品久久久一区二区三区| 久久综合一区| 欧美成人一区二区在线| 亚洲第一精品夜夜躁人人躁| 久久久久久亚洲精品杨幂换脸| 久久人人爽人人爽| 国内精品免费午夜毛片| 久久不射网站| 牛牛国产精品| 亚洲大片在线| 欧美www视频| 亚洲国产一区二区在线| 亚洲看片网站| 欧美日韩大片| 中国日韩欧美久久久久久久久| 亚洲永久精品大片| 国产精品区一区| 亚洲午夜免费福利视频| 亚洲综合国产精品| 国产精品一级二级三级| 欧美一区二区三区在线视频| 久久青青草综合| 在线欧美日韩国产| 欧美96在线丨欧| 亚洲欧洲日韩女同| 一区二区三区四区国产精品| 欧美四级剧情无删版影片| 亚洲午夜三级在线| 久久精品成人| 亚洲高清在线观看| 欧美激情亚洲激情| 一区二区三区高清在线观看| 久久爱www| 亚洲成人在线视频播放| 欧美激情国产精品| 中国女人久久久| 久久久青草婷婷精品综合日韩| 亚洲第一页在线| 欧美另类综合| 亚洲免费综合| 免费亚洲婷婷| 99综合精品| 国产欧美精品日韩区二区麻豆天美| 欧美在线亚洲一区| 亚洲春色另类小说| 一本大道久久a久久精品综合| 亚洲香蕉网站| 久久综合中文色婷婷| 一本到高清视频免费精品| 国产精品视频网| 久久综合久久88| 中文精品视频| 老司机凹凸av亚洲导航| 一本色道久久综合亚洲91| 国产精品网站一区| 老司机一区二区三区| 99热在线精品观看| 久久久久久久高潮| 99re66热这里只有精品3直播| 国产精品免费福利| 另类专区欧美制服同性| 一本不卡影院| 米奇777在线欧美播放| 日韩一级精品| 国产一区欧美| 欧美日韩免费在线观看| 欧美在线免费观看视频| 亚洲精品国产精品乱码不99| 久久国产精品一区二区三区| 亚洲国产另类久久久精品极度| 国产精品99免费看| 久久综合网络一区二区| 亚洲淫片在线视频| 亚洲国产精品999| 亚洲国产精品久久精品怡红院 | 亚洲在线播放| 欧美绝品在线观看成人午夜影视 | 欧美日韩在线不卡| 欧美在线观看你懂的| 亚洲精品色婷婷福利天堂| 久久久精品2019中文字幕神马| 99精品福利视频| 国内精品伊人久久久久av影院| 欧美日韩精品一区视频| 久久激情综合| 国产精品99久久久久久白浆小说| 欧美高清视频在线| 久久久精品动漫| 亚洲综合电影| 精品69视频一区二区三区| 国产精品久久看| 欧美精品色综合| 久久天天狠狠| 亚洲欧美色一区| 日韩一级片网址| 欧美国产日本高清在线| 亚洲国产精品一区在线观看不卡| 国产精品一区二区视频| 欧美日韩视频一区二区| 母乳一区在线观看| 久久成人亚洲| 亚洲人成网站999久久久综合| 久久久人成影片一区二区三区| 亚洲一区二区少妇| 日韩亚洲欧美在线观看| 亚洲高清三级视频| 老司机一区二区三区|