Answer

问题及解答

Collatz(n)

Posted by haifeng on 2020-11-18 10:42:14 last update 2020-11-18 10:42:14 | Edit | Answers (1)

做个游戏,给定任何一个数n,比如这里的137或者73,然后计算它们的Collatz(n)的步骤数,将此步骤数作为Collatz()函数的参数再进行计算得到步骤数,如此进行下去,是否在有限步后结束?

 

>> Collatz(137)
in> Collatz(137)
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

out> 90

------------------------

>> Collatz(90)
in> Collatz(90)
90-->45-->136-->68-->34-->17-->52-->26-->13-->40-->20-->10-->5-->16-->8-->4-->2-->1

out> 17

------------------------

>> Collatz(17)
in> Collatz(17)
17-->52-->26-->13-->40-->20-->10-->5-->16-->8-->4-->2-->1

out> 12

------------------------

>> Collatz(12)
in> Collatz(12)
12-->6-->3-->10-->5-->16-->8-->4-->2-->1

out> 9

------------------------

>> Collatz(9)
in> Collatz(9)
9-->28-->14-->7-->22-->11-->34-->17-->52-->26-->13-->40-->20-->10-->5-->16-->8-->4-->2-->1

out> 19

------------------------

>> Collatz(19)
in> Collatz(19)
19-->58-->29-->88-->44-->22-->11-->34-->17-->52-->26-->13-->40-->20-->10-->5-->16-->8-->4-->2-->1

out> 20

------------------------

>> Collatz(20)
in> Collatz(20)
20-->10-->5-->16-->8-->4-->2-->1

out> 7

------------------------

>> Collatz(7)
in> Collatz(7)
7-->22-->11-->34-->17-->52-->26-->13-->40-->20-->10-->5-->16-->8-->4-->2-->1

out> 16

------------------------

>> Collatz(16)
in> Collatz(16)
16-->8-->4-->2-->1

out> 4

------------------------

>> Collatz(4)
in> Collatz(4)
4-->2-->1

out> 2

------------------------

>> Collatz(2)
in> Collatz(2)
2-->1

out> 1

------------------------

>> Collatz(1)
in> Collatz(1)
1

out> 0

------------------------

 

 

1

Posted by haifeng on 2020-11-18 11:05:37

我们找到了 Collatz(n)=n 的解, 例如 n=5.

>> Collatz(5)
in> Collatz(5)
5-->16-->8-->4-->2-->1

out> 5


>> Collatz(32)
in> Collatz(32)
32-->16-->8-->4-->2-->1

out> 5

------------------------

>> Collatz(2^32)
in> Collatz(2^32)
in> 2^32

out> 4294967296
4294967296-->2147483648-->1073741824-->536870912-->268435456-->134217728-->67108864-->33554432-->16777216-->8388608-->4194304-->2097152-->1048576-->524288-->262144-->131072-->65536-->32768-->16384-->8192-->4096-->2048-->1024-->512-->256-->128-->64-->32-->16-->8-->4-->2-->1

out> 32

------------------------

于是 2^2^32 --> 2^32 --> 32 --> 5 --> 5

 

此外, 有

>> Collatz(57)
in> Collatz(57)
57-->172-->86-->43-->130-->65-->196-->98-->49-->148-->74-->37-->112-->56-->28-->14-->7-->22-->11-->34-->17-->52-->26-->13-->40-->20-->10-->5-->16-->8-->4-->2-->1

out> 32

------------------------

>> Collatz(59)
in> Collatz(59)
59-->178-->89-->268-->134-->67-->202-->101-->304-->152-->76-->38-->19-->58-->29-->88-->44-->22-->11-->34-->17-->52-->26-->13-->40-->20-->10-->5-->16-->8-->4-->2-->1

out> 32

------------------------