前提:n是正整数:
若是n是偶数: n -> n / 2
若是n是奇数: n -> 3n + 1
按照上面的规则, 咱们从3这个数开始(3能够被看作是startNumber(起始数字), 1能够看作是endNumber(终点数字, 它是肯定的)), 能够生成以下的序列:
3(StartN) ==> 10 ==> 5 ==> 16 ==> 8 ==> 4 ==> 2 ==> 1(endN)
这个序列一共经历了8轮(terms)(从3开始到1结束)。
从表面上看, 全部的天然数遵循这个规则, 即:均可以生成一个能够穷尽的迭代序列, 经历了n轮(terms)数字转换后, 均可以最终变为 1 ;
举例:在100之内的全部天然数依次做为startNumber,
那么其中 97 经历了最多的轮数(terms)才获得endNumber:1 .
问题: 在10^20(即100000000000000000000)之内的全部天然数依次做为startNumber,
其中获得最多轮数的startNumber为多少 以及 其对应的轮数(terms)是多少?
(注:计算机的Cpu 只要不低于AMD4000级别就能够,
Cpu运算时间不该超过3分钟以上。)
http://tieba.baidu.com/p/1587252427
get