Thursday, November 15, 2018

3n+1 problems -- Collatz conjecture python code

這裡介紹一個神奇的問題,我也是最近才看到,數學家稱作3n+1 problems -- Collatz conjecture.
問題簡單到爆,卻仍然未解
給一個數列,起始點是n,一個正整數
f(n)={n/2  | if n is even;  3n+1 | if n is odd}
keep 使用 f(n)會得到很多很多項。
ask 是否有一項是1?

就這樣
先試試看 n=12 
我們可以得到:
[12, 6, 3, 10, 5, 16, 8, 4, 2, 1]

n=19
[19, 58, 29, 88, 44, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1]

這個問題是open problem
因為目前知道的都是這樣。....

放下我自己寫的小code...如果有興趣可以試試看 g(27)
也會看到他terminate
這個問題可以視為 halting problem 的子問題。



No comments:

Post a Comment