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

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

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

The 3n + 1 problem

Posted on 2006-06-10 00:41 mahudu@cppblog 閱讀(1331) 評論(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>
            欧美一区二区日韩| 欧美一区二区三区日韩视频| 国产一区二区三区黄视频| 久久一区二区三区四区五区| 亚洲美女视频| 欧美激情一二三区| 卡一卡二国产精品| 久久成人18免费观看| 国产精品www网站| 亚洲精选在线观看| 欧美激情91| 免费成人av| 久久综合五月| 免费日韩成人| 欧美成人精品1314www| 国产精品美女久久久久久2018 | 日韩亚洲国产精品| 亚洲电影免费在线| 麻豆av福利av久久av| 久久久爽爽爽美女图片| 久久激情综合| 午夜精品美女久久久久av福利| 欧美日韩国产精品自在自线| 亚欧成人精品| 久久国产精品99精品国产| 欧美影院在线| 麻豆久久婷婷| 欧美成人亚洲| 欧美区在线观看| 国产精品久久久久久久9999 | 国产精品普通话对白| 国产精品爽爽爽| 激情五月***国产精品| 亚洲第一久久影院| 亚洲乱码国产乱码精品精天堂 | 亚洲欧美日韩成人高清在线一区| 亚洲免费在线观看| 久久久久**毛片大全| 欧美好骚综合网| 欧美性猛片xxxx免费看久爱| 国产日本精品| 91久久精品一区| 极品av少妇一区二区| 国产一区二区三区日韩| 亚洲国产日韩在线一区模特| 亚洲性夜色噜噜噜7777| 久久久久免费观看| 99re6这里只有精品视频在线观看| 亚洲欧美综合| 久久精品夜色噜噜亚洲a∨| 欧美激情第二页| 国产日韩欧美一区二区三区在线观看 | 久热精品视频| 91久久久久久| 欧美在线观看网站| 欧美日韩午夜激情| 激情综合五月天| 亚洲影视中文字幕| 欧美 亚欧 日韩视频在线| 中文有码久久| 欧美激情第一页xxx| 久久久精品性| 欧美特黄视频| 久久精品色图| 欧美一区二区三区免费大片| 亚洲网友自拍| 欧美成人精品一区二区| 国产欧美日韩精品丝袜高跟鞋 | 亚洲国产三级| 欧美在线你懂的| 久久精品一区二区三区四区| 亚洲第一色中文字幕| 香蕉av777xxx色综合一区| 蜜臀久久久99精品久久久久久| 亚洲一区二区三区激情| 欧美激情视频在线免费观看 欧美视频免费一| 久久伊人精品天天| 国产自产女人91一区在线观看| 亚洲无线观看| 亚洲日本欧美| 欧美国产亚洲精品久久久8v| 亚洲第一主播视频| 久久琪琪电影院| 亚洲精品美女91| 最新热久久免费视频| 久久午夜电影| 国产精品女主播| 亚洲男女毛片无遮挡| 亚洲精品字幕| 欧美午夜a级限制福利片| 一区二区欧美在线| 99国产精品私拍| 国产精品yjizz| 欧美一区二区三区男人的天堂| 亚洲午夜视频在线观看| 国产精品网站一区| 久久精品国产91精品亚洲| 亚洲免费伊人电影在线观看av| 国产精品热久久久久夜色精品三区| 中文在线不卡视频| 一区二区欧美视频| 国产精品色婷婷| 久久久亚洲国产天美传媒修理工| 午夜激情综合网| 一区精品在线| 欧美激情亚洲一区| 欧美日韩免费观看一区二区三区 | 欧美日韩中国免费专区在线看| 一区二区三区久久| 亚洲综合欧美| 精东粉嫩av免费一区二区三区| 欧美a一区二区| 欧美一区二区三区的| 欧美午夜视频网站| 久久精品国产免费看久久精品| 亚洲图片在区色| 亚洲一二三四区| 有码中文亚洲精品| 日韩一区二区精品视频| 国产亚洲精品激情久久| 91久久精品视频| 久久久天天操| 夜夜爽www精品| 午夜视频在线观看一区二区三区 | **欧美日韩vr在线| 亚洲视频精品在线| 雨宫琴音一区二区在线| 亚洲专区在线视频| 亚洲国产色一区| 亚洲一级黄色片| 91久久在线视频| 久久精品观看| 亚洲伊人第一页| 玖玖在线精品| 欧美在线视频网站| 欧美精品一区二区在线观看| 久久久精品网| 欧美日韩一区自拍| 欧美激情第8页| 国产日韩欧美精品一区| 99在线精品观看| 国产日韩欧美自拍| 亚洲激情一区二区| 亚洲免费网址| 亚洲高清在线观看一区| 亚洲伊人一本大道中文字幕| 亚洲日本成人女熟在线观看| 亚洲欧美色一区| 99这里只有久久精品视频| 香蕉亚洲视频| 亚洲欧美资源在线| 欧美日韩视频一区二区三区| 亚洲高清av在线| 亚洲国产精品久久久久婷婷老年| 性色av一区二区三区在线观看| 亚洲欧美成人一区二区三区| 欧美日韩精品中文字幕| 久久激情视频久久| 国产欧美日韩亚州综合| 午夜精品久久久99热福利| 亚洲欧美欧美一区二区三区| 国产亚洲精久久久久久| 久热精品视频| 日韩亚洲欧美一区二区三区| 欧美一级二区| 极品av少妇一区二区| 欧美国产日本韩| 亚洲午夜一区| 欧美韩日一区二区三区| 亚洲一区日韩| 一区二区亚洲精品国产| 欧美精品v日韩精品v韩国精品v| 一本色道久久综合狠狠躁篇怎么玩| 欧美一区二区三区四区高清| 在线精品国产成人综合| 欧美日韩少妇| 久久精品国产99精品国产亚洲性色| 亚洲大片免费看| 欧美一区二区三区视频在线 | 久久久99精品免费观看不卡| 欧美国产日韩精品| 亚洲欧美在线观看| 在线观看一区二区精品视频| 欧美特黄视频| 久久久综合激的五月天| 一卡二卡3卡四卡高清精品视频| 久久久激情视频| 亚洲视频欧洲视频| 一区二区在线观看视频| 国产精品视频网| 欧美日韩国产色综合一二三四| 欧美在线一区二区| 99视频在线精品国自产拍免费观看 | 亚洲级视频在线观看免费1级| 欧美色欧美亚洲另类二区| 久久久久久婷| 久久xxxx| 亚洲一区二区三区激情| 亚洲日本精品国产第一区| 欧美成人精品|