一覧へ
コラッツの問題

自然数(1,2,3,・・・)から任意に1つ選んだ数nに対して以下の操作を行う。
nが偶数なら2で割る。
nが1より大きい奇数なら3倍して1を足す。

この操作を繰り返すと必ず1になるか?
という問題。

例えば、nが10なら偶数なので2で割って5。
5は奇数なので3倍して1を足すと16。
16は2の4乗なので2で4回割れば1になります。
16 -> 8 -> 4 -> 2 -> 1

私が大学院生だった頃は未解決だと聞きましたが、解決したのでしょうか?


以下で99999までの自然数に対して確認ができます。
自然数を入力して「操作」ボタンをクリックしてみてください。
尚、処理はJavaScriptで作りました。

n = (半角で1から99999まで) 
操作