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

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

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>
            亚洲一区二区三区乱码aⅴ| 久久精品三级| 久久精品国产清自在天天线| 亚洲精品中文字幕有码专区| 欧美在线观看一二区| 亚洲伊人伊色伊影伊综合网| 欧美成人精品不卡视频在线观看| 久久狠狠亚洲综合| 国产精品视频男人的天堂| 亚洲精品网站在线播放gif| 亚洲国产精品久久久久久女王| 午夜精品免费视频| 亚洲欧美日韩一区二区三区在线观看 | 午夜精品成人在线视频| 亚洲免费一级电影| 欧美午夜精品久久久久久浪潮 | 麻豆精品传媒视频| 国产日韩欧美不卡在线| 亚洲天堂av综合网| 亚洲欧美日韩国产综合在线| 欧美日韩精品一区二区天天拍小说| 亚洲第一区在线| 一区二区在线观看视频| 久久成人免费| 老色鬼久久亚洲一区二区| 狠狠干成人综合网| 亚洲日本成人| 欧美www视频| 欧美激情在线免费观看| 亚洲免费福利视频| 欧美特黄一级| 亚洲男人av电影| 久久精品动漫| 亚洲第一页中文字幕| 免费不卡在线视频| 最新亚洲视频| 午夜精品在线看| 国内外成人免费激情在线视频| 欧美专区18| 欧美激情一区在线观看| 中国女人久久久| 国产日韩精品入口| 久久天天躁狠狠躁夜夜av| 亚洲国产精品传媒在线观看| 一本色道久久综合一区| 国产精品黄色| 久久精品一二三区| 最新国产乱人伦偷精品免费网站 | 美女精品国产| 亚洲美女在线国产| 久久99伊人| 亚洲国产视频直播| 欧美日韩在线播放一区| 亚洲欧美日韩精品久久| 免费不卡在线视频| 亚洲视频在线观看| 国产一区二区视频在线观看| 免费视频一区| 亚洲欧美日韩一区| 欧美激情一区在线| 亚洲欧美成人一区二区在线电影| 国模私拍视频一区| 欧美日韩三级| 久久蜜桃香蕉精品一区二区三区| 999在线观看精品免费不卡网站| 久久免费视频这里只有精品| 亚洲最新在线| 亚洲成人在线免费| 国产精品美女诱惑| 欧美寡妇偷汉性猛交| 欧美一区二区三区电影在线观看| 亚洲日本中文| 卡一卡二国产精品| 亚洲欧美色一区| 亚洲精品激情| 精品999在线播放| 国产精品嫩草影院一区二区| 麻豆精品网站| 久久国产直播| 亚洲欧美日韩国产综合| 亚洲精品久久久久久下一站| 蜜臀av性久久久久蜜臀aⅴ| 亚洲主播在线观看| 夜夜狂射影院欧美极品| 在线成人小视频| 国产一级精品aaaaa看| 欧美午夜精品久久久久久久| 欧美精品导航| 欧美激情黄色片| 久久综合久久久久88| 欧美专区福利在线| 亚洲欧美日韩一区二区| 亚洲无限乱码一二三四麻| 亚洲欧洲一区| 亚洲日本成人网| 亚洲大片免费看| 欧美国产视频一区二区| 免费在线观看日韩欧美| 久久人人爽人人爽爽久久| 久久av一区二区三区漫画| 亚洲欧美在线一区二区| 亚洲欧美久久| 性视频1819p久久| 午夜视频在线观看一区| 午夜精品亚洲| 久久精品免费看| 久久精品一区四区| 久久久无码精品亚洲日韩按摩| 久久电影一区| 久久久久久穴| 免费国产自线拍一欧美视频| 欧美.www| 91久久精品日日躁夜夜躁国产| 亚洲国产精品久久久久婷婷老年| 91久久精品日日躁夜夜躁欧美| 亚洲欧洲在线一区| av72成人在线| 亚洲欧美一区二区原创| 性欧美暴力猛交另类hd| 久久精品国产亚洲一区二区| 久久久精品国产免大香伊 | 欧美日韩91| 国产精品视频yy9299一区| 国产日韩专区在线| 亚洲国产精品视频| 亚洲乱码精品一二三四区日韩在线| 日韩亚洲国产欧美| 亚洲综合欧美日韩| 久久成人羞羞网站| 欧美电影免费观看| 一区二区久久| 久久国产欧美| 欧美精品亚洲| 国产一区二区三区高清播放| 91久久精品国产91久久性色tv| 一区二区三区国产精华| 欧美在线一区二区三区| 欧美成年人网| 在线综合亚洲欧美在线视频| 久久激情综合网| 欧美黑人在线观看| 国产婷婷色一区二区三区四区| 亚洲电影天堂av| 午夜综合激情| 亚洲黄色尤物视频| 亚洲欧美另类在线| 欧美精品一卡| 韩国三级在线一区| 亚洲一级黄色av| 欧美jizz19hd性欧美| 亚洲视频导航| 免费观看成人鲁鲁鲁鲁鲁视频| 国产精品久久久一区麻豆最新章节| 樱桃视频在线观看一区| 午夜精品区一区二区三| 欧美国产亚洲精品久久久8v| 亚洲欧美日本伦理| 欧美日韩免费观看一区| 亚洲电影毛片| 久久国内精品自在自线400部| 亚洲免费av网站| 免费久久久一本精品久久区| 国产日韩欧美二区| 亚洲一区3d动漫同人无遮挡| 欧美黄免费看| 久久深夜福利免费观看| 国产精品捆绑调教| 宅男在线国产精品| 欧美激情一区二区三区| 久久精品女人天堂| 国产精品一级| 亚洲欧美日韩精品久久久| 亚洲欧洲日本专区| 美女网站久久| 亚洲国产精品一区二区www| 久久爱另类一区二区小说| 日韩视频永久免费| 欧美久久久久久久| 亚洲人成网站777色婷婷| 蜜桃精品久久久久久久免费影院| 亚洲影院污污.| 国产精品免费观看视频| 亚洲在线电影| 亚洲午夜精品在线| 国产精品日韩一区| 欧美一区二区黄| 亚洲综合清纯丝袜自拍| 国产精品无码专区在线观看| 午夜精品福利视频| 亚洲香蕉网站| 国产麻豆精品theporn| 校园春色国产精品| 亚洲欧美在线磁力| 国产乱理伦片在线观看夜一区 | 亚洲综合欧美| 亚洲影院色无极综合| 国产亚洲一级| 免费观看国产成人| 欧美大胆a视频| 亚洲视频综合在线|