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

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

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

The 3n + 1 problem

Posted on 2006-06-10 00:41 mahudu@cppblog 閱讀(1330) 評論(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>
            午夜精品福利在线观看| 午夜精品亚洲| 国产美女诱惑一区二区| 国产精品第13页| 国产精品国产自产拍高清av| 欧美午夜精品理论片a级大开眼界| 欧美日韩久久久久久| 欧美视频在线观看一区二区| 国产精品女主播一区二区三区| 国产欧美日韩免费| 1769国产精品| 制服丝袜亚洲播放| 欧美一级在线视频| 欧美xxx在线观看| 亚洲精品偷拍| 欧美一区二区精品久久911| 久久久av毛片精品| 欧美日韩国产成人精品| 国产精品一区二区视频| 在线不卡免费欧美| 久久久精品tv| 亚洲高清久久| 欧美激情国产日韩| 在线亚洲欧美| 久久久999国产| 欧美日韩综合网| 在线看片欧美| 午夜精品久久久久久久99热浪潮 | 亚洲视频在线看| 亚洲综合欧美日韩| 欧美不卡视频| 国产日韩免费| 亚洲视频免费观看| 欧美国产极速在线| 欧美在线资源| 国产精品极品美女粉嫩高清在线| 亚洲国产精品一区在线观看不卡 | 亚洲国产精品视频一区| 亚洲欧美国产三级| 亚洲品质自拍| 久热精品在线| 狠狠狠色丁香婷婷综合久久五月| 亚洲视频在线视频| 亚洲国产欧美久久| 久久婷婷麻豆| 国内精品美女av在线播放| 亚洲女性裸体视频| 亚洲日本成人| 欧美wwwwww| 在线看一区二区| 农村妇女精品| 久久婷婷激情| 亚洲电影在线| 欧美高清在线精品一区| 久久视频精品在线| 亚洲国产裸拍裸体视频在线观看乱了中文 | 国产亚洲精品高潮| 久久riav二区三区| 亚洲欧美日韩成人高清在线一区| 国产精品第一区| 午夜精品亚洲| 久久久精品国产一区二区三区| 国产精品户外野外| 亚洲欧美成人精品| 亚洲欧美视频在线观看视频| 国产精品人人做人人爽| 午夜精品久久久久久99热| 一区二区三区久久精品| 国产精品成人在线| 久久激五月天综合精品| 久久成人精品视频| 一区在线观看| 亚洲电影免费观看高清| 欧美日韩精品免费观看视频| 亚洲午夜精品久久| 午夜精品福利一区二区三区av | 国产欧美日韩在线观看| 久久九九久久九九| 久久久久久亚洲精品不卡4k岛国| 1024亚洲| 一区二区三区四区五区精品视频| 欧美视频一区| 久久久精品午夜少妇| 免费成人你懂的| 亚洲视频一二区| 久久不射中文字幕| 亚洲精品孕妇| 午夜精品一区二区三区在线视 | 欧美在线观看一区| 久久视频在线视频| 亚洲在线不卡| 久久视频精品在线| 亚洲欧美日韩一区二区在线| 久久成人免费电影| 一区二区精品在线| 久久久久久久一区| 一区二区三区久久| 久久男人资源视频| 亚洲专区欧美专区| 免费观看成人www动漫视频| 亚洲自拍偷拍一区| 欧美大片免费久久精品三p| 久久国产直播| 欧美天天影院| 亚洲国产精品成人一区二区| 国产免费成人av| 夜夜爽99久久国产综合精品女不卡 | 欧美在线啊v一区| 亚洲少妇最新在线视频| 看片网站欧美日韩| 久久成人18免费观看| 欧美日本国产视频| 欧美本精品男人aⅴ天堂| 国产精品白丝av嫩草影院| 亚洲电影在线看| 亚洲国产激情| 好吊日精品视频| 亚洲深夜av| 在线一区观看| 欧美精品亚洲一区二区在线播放| 久久久久综合一区二区三区| 国产精品h在线观看| 欧美激情在线免费观看| 黄色成人91| 欧美在线影院在线视频| 久久疯狂做爰流白浆xx| 国产精品福利av| 亚洲美女在线视频| 日韩一二三在线视频播| 免费观看亚洲视频大全| 欧美jizzhd精品欧美巨大免费| 国产一区二区中文字幕免费看| 亚洲午夜未删减在线观看| 一区二区三区欧美激情| 欧美精品福利视频| 亚洲精品免费在线播放| 日韩视频精品| 欧美日韩在线观看一区二区| 亚洲乱码精品一二三四区日韩在线 | 亚洲性夜色噜噜噜7777| 亚洲香蕉视频| 国产精品每日更新在线播放网址| 一区二区三区不卡视频在线观看 | 久久婷婷人人澡人人喊人人爽| 国产精品综合| 欧美一区综合| 女主播福利一区| 亚洲欧洲一级| 欧美日韩在线三级| 亚洲一区二区三区影院| 久久精品一级爱片| 在线观看国产欧美| 欧美成人性生活| 99re热精品| 久久激情综合| 亚洲人成77777在线观看网| 欧美另类videos死尸| 亚洲天堂av在线免费观看| 久久精品国产综合| 亚洲黄色一区| 国产精品国产三级国产aⅴ9色| 校园春色国产精品| 欧美大片第1页| 国产精品99久久久久久久女警| 国产精品私房写真福利视频| 久久精品一区二区三区不卡牛牛 | 久久精品免费播放| 亚洲激情在线| 久久精品理论片| 亚洲美女网站| 国产午夜精品美女视频明星a级 | 亚洲婷婷在线| 免费不卡中文字幕视频| 欧美国产亚洲视频| 久久综合伊人77777尤物| 伊人天天综合| 国产精品jizz在线观看美国| 欧美在线国产精品| 日韩视频免费大全中文字幕| 欧美在线亚洲在线| 99综合在线| 一区二区三区在线观看欧美| 欧美日韩1080p| 久久在线91| 亚洲欧美三级在线| 亚洲精品日韩激情在线电影 | 亚洲国产精品一区二区久 | 欧美性猛交xxxx乱大交退制版| 久久精品成人欧美大片古装| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 久久综合亚洲社区| 亚洲专区欧美专区| 99在线精品视频在线观看| 精品福利免费观看| 国产日韩av在线播放| 欧美视频一区二| 欧美精品在线观看播放| 久久亚洲精品伦理| 久久精品论坛| 久久精品在线免费观看|