Description
计算机科学中的问题往往被归纳为某一类问题(如NP问题,无法解决问题,递归等)。在这道问题中你将分析一种算法,它对所有可能的输入结果是未知的。
考虑以下算法:
1. 输入n
2. 输出n
3. 如果n=1然后停止
4. 如果n是奇数: n <-- n*3+1
5. 其他的情况: n <-- n/2
6. 转向 2
例如:对于输入22,输出将会是22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1。据推测,该算法对于任何整数将终止于1。尽管算法很简单,目前还不清楚这一猜想是否正确。但是对于所有整数n(0<n<1,000,000),已经过验证(事实上,符合规律的数比这还要多)。
对于给定的n,是有可能计算出该算法共输出了多少个数的,包括结尾的1,这个数叫做n的周期长度。在上面的例子中,22的周期长度是16。对于任何两个数字i和