ROSECODE 014
3n+1 问题
The 3n+1 Problem
考虑以下算法:
1。输入n
2。打印 n
3。如果 n = 1 则停止
4。如果 n 为奇数则 n <-- 3n + 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,这称为 n 的循环长度。在上例中,22 的周期长度为 16。
对于任意两个数字 i 和 j,您需要确定 i 和 j 之间所有数字(含)的最大循环长度
如果 i=1 j=1000000 答案是什么?