For any integer n, define the following operation;
n is even ⇒ n = n/2
n is odd ⇒ n = 3*n+1
For example,
3 ⇒ 10 ⇒ 5 ⇒ 16 ⇒ 8 ⇒ 4 ⇒ 2 ⇒ 1 ⇒ 4 ⇒ 2 ⇒ 1 ⇒ ......
7 ⇒ 22 ⇒ 11 ⇒ 34 ⇒ 17 ⇒ 52 ⇒ 26 ⇒ 13 ⇒ 40 ⇒ 20 ⇒ 10 ⇒ 5 ⇒
this is same to the case n=5
9 ⇒ 28 ⇒ 14 ⇒ 7 ⇒
this is same to the case n=7
It seems that any integer n converges to a loop 4 ⇒ 2 ⇒ 1 at the end.
This is called as Collatz's conjecuture, famous unsolved problem.
According to the above observation, it seems quite natural that every n converges to 1.
But if we check the case n=27, this conjecture becomes ambiguous.
27 ⇒ 82 ⇒ 41 ⇒ 124 ⇒ 62 ⇒ 31 ⇒ 94 ⇒ 47 ⇒ 142 ⇒ 71 ⇒ 214 ⇒ 107 ⇒ ......
So, we need to check by using some program.
The algorithm is very easy (simply implementing the definition).
10 ' collatz 20 input N:print N; 30 if odd(N) then N=N*3+1 else N=N\2 40 print " ⇒ ";N; 50 if N=1 then print:goto 20 else goto 30
Execute and input 27 for n
27 ⇒ 82 ⇒ 41 ⇒ 124 ⇒ 62 ⇒ 31 ⇒ 94 ⇒ 47 ⇒ 142 ⇒ 71 ⇒ 214 ⇒ 107 ⇒ 322 ⇒ 161 ⇒ 484 ⇒ 242 ⇒ 121 ⇒ 364 ⇒ 182 ⇒ 91 ⇒ 274 ⇒ 137 ⇒ 412 ⇒ 206 ⇒ 103 ⇒ 310 ⇒ 155 ⇒ 466 ⇒ 233 ⇒ 700 ⇒ 350 ⇒ 175 ⇒ 526 ⇒ 263 ⇒ 790 ⇒ 395 ⇒ 1186 ⇒ 593 ⇒ 1780 ⇒ 890 ⇒ 445 ⇒ 1336 ⇒ 668 ⇒ 334 ⇒ 167 ⇒ 502 ⇒ 251 ⇒ 754 ⇒ 377 ⇒ 1132 ⇒ 566 ⇒ 283 ⇒ 850 ⇒ 425 ⇒ 1276 ⇒ 638 ⇒ 319 ⇒ 958 ⇒ 479 ⇒ 1438 ⇒ 719 ⇒ 2158 ⇒ 1079 ⇒ 3238 ⇒ 1619 ⇒ 4858 ⇒ 2429 ⇒ 7288 ⇒ 3644 ⇒ 1822 ⇒ 911 ⇒ 2734 ⇒ 1367 ⇒ 4102 ⇒ 2051 ⇒ 6154 ⇒ 3077 ⇒ 9232 ⇒ 4616 ⇒ 2308 ⇒ 1154 ⇒ 577 ⇒ 1732 ⇒ 866 ⇒ 433 ⇒ 1300 ⇒ 650 ⇒ 325 ⇒ 976 ⇒ 488 ⇒ 244 ⇒ 122 ⇒ 61 ⇒ 184 ⇒ 92 ⇒ 46 ⇒ 23 ⇒ 70 ⇒ 35 ⇒ 106 ⇒ 53 ⇒ 160 ⇒ 80 ⇒ 40 ⇒ 20 ⇒ 10 ⇒ 5 ⇒ 16 ⇒ 8 ⇒ 4 ⇒ 2 ⇒ 1
converges to 1 at 112-generation. Maximum value during iteration reached 9232.
previous | index | next |
---|