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

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

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

The 3n + 1 problem

Posted on 2006-06-10 00:41 mahudu@cppblog 閱讀(1344) 評論(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>
            久久精品国产2020观看福利| 久久精品国产久精国产一老狼| 欧美日韩国产首页| 一区二区国产日产| 亚洲视频免费在线| 国产主播一区| 亚洲国产精品久久久久婷婷老年| 免费成人性网站| 一区二区三区欧美日韩| 亚洲香蕉视频| 亚洲毛片在线看| 欧美视频在线免费看| 午夜视频一区在线观看| 欧美在线欧美在线| 亚洲另类春色国产| 亚洲欧美乱综合| 在线看片第一页欧美| 亚洲乱码国产乱码精品精可以看| 国产精品久久综合| 欧美+日本+国产+在线a∨观看| 欧美精品福利在线| 久久国产精品99久久久久久老狼 | 日韩视频一区二区在线观看 | 国产精品亚洲综合天堂夜夜| 久久米奇亚洲| 欧美三级免费| 欧美成人在线网站| 国产精品久久午夜| 欧美激情久久久久| 国产亚洲一区二区精品| 欧美激情亚洲精品| 久久国产一区二区三区| 欧美精品七区| 久久黄色级2电影| 欧美日韩国产在线播放网站| 老牛影视一区二区三区| 国产精品久久97| 亚洲黄色成人| 在线观看日韩av先锋影音电影院| 亚洲性图久久| 亚洲无线视频| 欧美精品国产一区二区| 麻豆久久精品| 国模吧视频一区| 亚洲自拍偷拍福利| 亚洲一级片在线观看| 欧美高清视频一区二区| 欧美aa在线视频| 狠狠狠色丁香婷婷综合激情| 午夜精品久久久久| 亚洲男人第一网站| 欧美午夜a级限制福利片| 亚洲国产欧美不卡在线观看| 伊人久久综合97精品| 久久av在线| 久久精品成人欧美大片古装| 国产精品美女999| 亚洲视频网在线直播| 在线亚洲伦理| 国产精品videosex极品| 一本色道久久综合狠狠躁篇的优点 | 美女啪啪无遮挡免费久久网站| 久久成人综合网| 国产视频在线一区二区| 亚洲综合日韩中文字幕v在线| 亚洲欧美日韩精品久久久久| 国产精品久久久久久影院8一贰佰 国产精品久久久久久影视 | 亚洲一区二区三区涩| 欧美日韩精品不卡| aa国产精品| 亚洲欧美制服另类日韩| 国产精品爽爽爽| 欧美伊人久久久久久午夜久久久久| 欧美综合二区| 在线精品亚洲一区二区| 巨乳诱惑日韩免费av| 亚洲福利av| 在线视频中文亚洲| 国产欧美大片| 久久亚洲不卡| 日韩一区二区精品葵司在线| 亚洲一区影音先锋| 国产有码一区二区| 麻豆freexxxx性91精品| 亚洲老板91色精品久久| 亚洲综合首页| 尤物yw午夜国产精品视频明星| 你懂的亚洲视频| 亚洲一区二区视频| 美女成人午夜| 亚洲性视频h| 国产一区二区三区在线免费观看| 久久影院亚洲| 亚洲素人在线| 欧美激情a∨在线视频播放| 一区二区激情| 一区二区三区亚洲| 欧美日韩在线视频一区| 久久精品人人做人人爽电影蜜月| 亚洲国产精品一区二区第一页 | 久久久精品999| 亚洲日本欧美| 国精品一区二区| 欧美日本中文字幕| 久久精品亚洲热| 亚洲午夜在线观看视频在线| 免费在线观看日韩欧美| 亚洲一区二区精品视频| 亚洲福利电影| 国产一区视频网站| 欧美日韩一区二区在线播放| 久久三级视频| 性欧美xxxx大乳国产app| 亚洲日韩中文字幕在线播放| 久久久欧美一区二区| 亚洲欧美韩国| 一区二区三区欧美在线观看| 在线观看一区二区精品视频| 国产精品夜夜夜一区二区三区尤| 欧美大片va欧美在线播放| 久久精品国产第一区二区三区最新章节| 日韩亚洲精品在线| 亚洲激情在线观看| 免费欧美在线视频| 久久在线免费观看视频| 午夜免费日韩视频| 亚洲欧美久久| 亚洲午夜激情网页| 一本色道久久综合亚洲精品不卡| 亚洲国产精品久久精品怡红院| 激情亚洲成人| 在线成人国产| 在线欧美不卡| 亚洲国产一区二区三区在线播| 韩国女主播一区| 激情久久五月天| 在线观看av一区| 亚洲高清视频中文字幕| 激情伊人五月天久久综合| 国产一区二区中文字幕免费看| 国产女优一区| 国产一区二区三区四区三区四 | 榴莲视频成人在线观看| 久久影院午夜论| 欧美va亚洲va香蕉在线| 能在线观看的日韩av| 欧美国产一区二区在线观看| 欧美精品乱人伦久久久久久| 欧美精品播放| 欧美午夜视频| 国产亚洲在线观看| 精品av久久久久电影| 亚洲黄网站在线观看| 亚洲最快最全在线视频| 一区二区三区久久网| 小嫩嫩精品导航| 久久免费视频这里只有精品| 免费中文日韩| 日韩视频一区二区三区在线播放| 亚洲视频第一页| 久久se精品一区二区| 欧美成人午夜激情视频| 欧美亚洲第一区| 激情久久五月| 日韩天堂av| 欧美一区二区三区四区高清| 久久午夜视频| 亚洲美女视频在线观看| 香蕉免费一区二区三区在线观看| 久久久午夜视频| 欧美日韩在线精品| 国产区精品在线观看| 亚洲国产精选| 欧美一区二区视频在线观看2020| 免费影视亚洲| 亚洲一区二区三区影院| 麻豆av一区二区三区| 国产精品vip| 亚洲国产美国国产综合一区二区| 亚洲永久精品大片| 欧美国产日韩精品| 亚洲欧美日韩电影| 欧美欧美午夜aⅴ在线观看| 国产欧美日韩高清| 一本色道久久综合亚洲精品按摩 | 免费在线成人| 亚洲午夜免费视频| 欧美激情国产日韩| 韩日视频一区| 性欧美暴力猛交另类hd| 亚洲国产精品久久91精品| 销魂美女一区二区三区视频在线| 欧美精品二区三区四区免费看视频| 国产亚洲免费的视频看| 亚洲天堂免费观看| 亚洲精品社区| 欧美黄色精品| 亚洲黄一区二区三区| 久久中文在线| 欧美中文字幕不卡|