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

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

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>
            亚洲一区制服诱惑| 亚洲欧美另类国产| 免费观看成人网| 亚洲国产高清在线| 亚洲国产精品123| 欧美国产欧美亚洲国产日韩mv天天看完整 | 午夜影院日韩| 国产一区在线看| 蜜臀91精品一区二区三区| 快播亚洲色图| 夜夜嗨av一区二区三区免费区| 亚洲九九爱视频| 国产精品久久久久永久免费观看| 欧美在线一二三四区| 久久久99爱| 亚洲另类黄色| 亚洲欧美在线网| 亚洲福利视频专区| 99视频精品免费观看| 国产一区二区三区在线观看免费视频 | 国产精品入口夜色视频大尺度| 久久福利毛片| 欧美激情在线| 久久精品国产一区二区电影 | 亚洲在线观看视频网站| 一区二区三区在线观看视频| 亚洲人成网站色ww在线| 国产美女一区| 亚洲精品偷拍| 激情偷拍久久| 亚洲一区二区免费| 亚洲人被黑人高潮完整版| 亚洲视频在线二区| 亚洲国产婷婷综合在线精品| 亚洲视频一区二区| 亚洲欧洲三级| 欧美一区二区精品| 亚洲一区久久久| 欧美 日韩 国产一区二区在线视频| 亚洲欧美久久| 免费久久99精品国产自在现线| 欧美一区二区三区视频免费播放| 欧美精品福利视频| 免费一级欧美片在线观看| 国产精品扒开腿爽爽爽视频 | 久久婷婷久久一区二区三区| 欧美特黄视频| 亚洲欧洲精品一区二区三区不卡 | 尤物精品国产第一福利三区 | 亚洲午夜在线| 日韩亚洲一区二区| 久久综合色影院| 久久久久国产精品人| 国产精品一区在线观看| 日韩亚洲一区二区| 亚洲免费av片| 欧美第一黄网免费网站| 欧美成人激情在线| 亚洲电影下载| 久久久综合精品| 蜜桃av一区| 在线播放一区| 蜜臀av在线播放一区二区三区| 久久综合成人精品亚洲另类欧美| 国产亚洲视频在线| 久久av一区二区三区| 久久九九热免费视频| 国产在线精品一区二区夜色| 午夜在线精品偷拍| 久久久久久久久久久成人| 国产日韩精品在线| 久久不射电影网| 久久视频精品在线| 亚洲国产精品va在线观看黑人| 久久免费黄色| 欧美激情国产高清| 亚洲免费观看高清完整版在线观看熊 | 国内一区二区在线视频观看| 亚洲午夜电影| 亚洲主播在线观看| 欧美体内谢she精2性欧美| 妖精成人www高清在线观看| 亚洲婷婷综合色高清在线| 国产精品mv在线观看| 亚洲天堂成人在线视频| 午夜精品一区二区在线观看| 国产日本亚洲高清| 久久久久国色av免费观看性色| 欧美成人综合在线| 亚洲美女精品成人在线视频| 久久人人精品| 国产欧美精品| 久久成人免费视频| 欧美黄色aa电影| 99在线精品视频| 国产欧美一区二区精品婷婷 | 亚洲精品国产日韩| 亚洲在线日韩| 国语精品中文字幕| 欧美韩国日本一区| 亚洲欧美在线网| 亚洲成人在线网站| 午夜精品区一区二区三| 一区在线观看视频| 欧美视频在线观看免费| 欧美一区二区三区视频在线| 亚洲国产裸拍裸体视频在线观看乱了 | 在线免费日韩片| 欧美三区视频| 久久国产精品99精品国产| 91久久久久久国产精品| 久久国产66| 一本一本久久| 一区视频在线看| 国产精品国产亚洲精品看不卡15| 久久久久国产精品厨房| 一区二区三区你懂的| 亚洲第一区色| 久久久综合视频| 亚洲欧美日韩国产一区二区| 最新成人在线| 国产人久久人人人人爽| 欧美午夜激情小视频| 麻豆精品网站| 欧美在线视频播放| 亚洲私人影院| 亚洲精品一级| 亚洲国产精品va在线观看黑人| 久久久久久97三级| 久久国产精品亚洲va麻豆| 亚洲性图久久| 99精品福利视频| 亚洲精品小视频在线观看| 在线观看中文字幕不卡| 国产一区视频网站| 国产欧美日韩亚洲精品| 国产精品人成在线观看免费| 欧美午夜视频一区二区| 欧美绝品在线观看成人午夜影视| 美女精品网站| 欧美黄色免费| 欧美黄色视屏| 欧美日韩和欧美的一区二区| 欧美成人中文字幕| 欧美夫妇交换俱乐部在线观看| 久久亚洲一区| 欧美成人午夜激情在线| 欧美h视频在线| 欧美激情精品久久久久久| 欧美经典一区二区三区| 欧美精品videossex性护士| 欧美激情一级片一区二区| 欧美精品一区二区在线播放| 欧美久久久久久久久久| 欧美日韩视频不卡| 国产精品美女久久久免费 | 欧美二区视频| 欧美日韩一区自拍| 国产精品v亚洲精品v日韩精品| 国产精品国产三级国产a| 国产精品久久久久免费a∨大胸| 国产精品色网| 狠狠久久综合婷婷不卡| 亚洲福利视频网站| 一区二区三区视频在线| 午夜在线观看免费一区| 久久免费黄色| 欧美激情久久久| 亚洲视频axxx| 久久国产加勒比精品无码| 蜜桃精品久久久久久久免费影院| 欧美精品色综合| 国产日韩在线看| 亚洲国产成人午夜在线一区| 一本色道久久综合亚洲精品高清| 午夜精品视频网站| 免费日韩av| 亚洲永久精品大片| 另类尿喷潮videofree| 国产精品多人| 亚洲第一区中文99精品| 亚洲自拍偷拍麻豆| 欧美大胆a视频| 午夜精品久久久| 欧美精品国产一区| 国产综合激情| 亚洲一区在线观看免费观看电影高清| 久久琪琪电影院| 日韩视频一区二区| 久久在线播放| 国产曰批免费观看久久久| 亚洲精品网址在线观看| 久久人人爽国产| 亚洲一二三区在线观看| 欧美大片一区二区三区| 国内精品久久久久久久影视麻豆 | 日韩一级大片| 久久影视三级福利片| 国产精品久久久久久户外露出 | 91久久中文|