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

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

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

The 3n + 1 problem

Posted on 2006-06-10 00:41 mahudu@cppblog 閱讀(1341) 評論(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>
            欧美大片免费久久精品三p | 久久综合狠狠综合久久激情| avtt综合网| 欧美日韩在线观看一区二区| 中国日韩欧美久久久久久久久| 日韩视频一区二区在线观看 | 久久躁日日躁aaaaxxxx| 国产一区二区激情| 美女脱光内衣内裤视频久久影院 | 新狼窝色av性久久久久久| 日韩视频一区| 欧美性一区二区| 欧美一区二区免费观在线| 欧美一区综合| 亚洲欧洲一区二区三区久久| 亚洲精品国产精品国产自| 欧美人与禽猛交乱配| 亚洲免费在线播放| 欧美在线视频不卡| 日韩亚洲欧美一区二区三区| 亚洲视频欧美在线| 国产综合自拍| 亚洲精品在线视频| 国产亚洲综合精品| 亚洲精品欧美专区| 国产亚洲一级| 亚洲精品一区二区三区av| 国产精品色在线| 亚洲电影下载| 国产精品一区二区三区免费观看| 久久综合五月天婷婷伊人| 欧美日韩aaaaa| 久久在线免费| 国产精品视频精品| 亚洲国产精品尤物yw在线观看| 亚洲一区二区日本| 亚洲国产日韩精品| 亚洲一区免费视频| 99伊人成综合| 久久伊人精品天天| 香蕉久久久久久久av网站| 美女性感视频久久久| 性做久久久久久久久| 欧美国产一区在线| 久久综合婷婷| 国产专区综合网| 亚洲香蕉网站| 一本色道久久综合亚洲精品按摩| 欧美综合国产| 欧美一区二区三区电影在线观看 | 99www免费人成精品| 在线免费观看一区二区三区| 亚洲在线视频免费观看| 一本色道精品久久一区二区三区| 久久精品成人欧美大片古装| 午夜一区在线| 国产精品v片在线观看不卡| 亚洲国产精品va在线观看黑人| 国产亚洲欧美色| 欧美一级日韩一级| 久久精品亚洲国产奇米99| 国产精品久久久久久久久| 新狼窝色av性久久久久久| 欧美三级网页| 9国产精品视频| 在线亚洲精品福利网址导航| 欧美精品在线极品| 亚洲欧洲一区二区天堂久久| 亚洲精品欧美日韩专区| 久热这里只精品99re8久| 噜噜噜91成人网| 影音先锋中文字幕一区| 久久精品国产精品亚洲综合| 久久久综合激的五月天| 国语自产偷拍精品视频偷 | 亚洲精品日韩综合观看成人91| 亚洲韩国日本中文字幕| 欧美va亚洲va国产综合| 亚洲国产一区在线观看| 9l视频自拍蝌蚪9l视频成人| 欧美日本国产视频| 一本综合久久| 欧美一区二区三区四区在线| 好男人免费精品视频| 久久久久久欧美| 91久久精品国产91久久性色| 中文国产亚洲喷潮| 国产精品日本| 久久久久久久999精品视频| 欧美大片网址| 亚洲午夜小视频| 国产亚洲va综合人人澡精品| 久久蜜臀精品av| 亚洲美女中文字幕| 欧美一区二区三区的| 亚洲黄色天堂| 国产精品国产a级| 久久精品一区二区三区中文字幕| 亚洲电影免费| 午夜精品福利一区二区蜜股av| 红桃视频欧美| 欧美日韩免费一区二区三区| 欧美在线一区二区三区| 亚洲激情黄色| 久久国产精品久久久久久电车 | 欧美a级片一区| 这里只有精品视频| 嫩模写真一区二区三区三州| 一区二区三区精品国产| 国内精品写真在线观看| 欧美精品乱人伦久久久久久 | 亚洲午夜一区二区三区| 激情六月婷婷综合| 欧美午夜三级| 榴莲视频成人在线观看| 亚洲一级片在线看| 亚洲国产精品99久久久久久久久| 亚洲欧美视频在线观看| 最新国产精品拍自在线播放| 国产精品一区二区你懂的| 欧美黄色免费网站| 欧美一区二区日韩一区二区| 亚洲伦理在线| 亚洲大片精品永久免费| 欧美在线视频导航| 亚洲午夜在线观看| 日韩视频在线观看国产| 伊人久久综合97精品| 国产精品国产三级国产a| 免费在线欧美黄色| 久久国产精品久久久久久电车| 亚洲线精品一区二区三区八戒| 亚洲欧洲一区二区三区久久| 免费黄网站欧美| 久久亚洲精品视频| 久久大逼视频| 欧美在线中文字幕| 亚洲欧美日本日韩| 亚洲自拍偷拍麻豆| 这里只有精品丝袜| 一区二区三区日韩| 一区二区三区久久精品| 亚洲精品一区二区三区蜜桃久| 影视先锋久久| 国产在线精品一区二区夜色| 国产精品视频男人的天堂| 国产精品video| 国产精品观看| 国产乱人伦精品一区二区| 国产欧美日韩三级| 国产揄拍国内精品对白| 国产一级一区二区| 合欧美一区二区三区| 亚洲高清在线观看| 亚洲欧洲精品一区二区三区 | 夜夜嗨av一区二区三区中文字幕| 91久久精品日日躁夜夜躁欧美 | 国产欧美日韩视频一区二区| 国产亚洲精品aa| 激情欧美一区二区三区| 伊人精品成人久久综合软件| 亚洲人成亚洲人成在线观看| 99视频精品在线| 亚洲一区二区三区免费视频| 亚洲欧美亚洲| 久久久久久久97| 欧美岛国激情| 妖精视频成人观看www| 亚洲欧美日韩一区二区三区在线观看 | 久久综合国产精品| 亚洲国产精品va在线看黑人动漫| 亚洲激情六月丁香| 亚洲婷婷综合久久一本伊一区| 午夜精品久久久久久久久久久久 | 欧美日韩免费观看一区二区三区 | 欧美制服丝袜第一页| 久久在线视频在线| 欧美日韩免费在线观看| 国产精品视频免费在线观看| 伊人久久大香线| 一本综合久久| 久久裸体艺术| aa成人免费视频| 久久亚洲国产成人| 欧美午夜片欧美片在线观看| 在线观看欧美一区| 亚洲综合电影一区二区三区| 蜜桃伊人久久| 亚洲在线播放| 欧美精品一区二区三区蜜桃 | 欧美精品在线观看| 国产欧美日韩伦理| 99精品欧美一区二区三区| 欧美一区成人| 亚洲美女淫视频| 久久都是精品| 国产精品亚洲综合天堂夜夜 | 欧美性大战xxxxx久久久| 一区在线观看视频| 亚洲欧美日韩在线一区|