なんでも数式で解いてみる「コラッツの問題」

コラッツの問題(コラッツの予想)の規則性を解いてみる

コラッツの問題をご存知でしょうか?

・n が偶数の場合、n を 2 で割る
・n が奇数の場合、n に 3 をかけて 1 を足す

この操作を繰り返すと、どうなるか
「どんな初期値から始めても、有限回の操作のうちに必ず 1 に到達する(そして 1→4→2→1 というループに入る)」という主張が、コラッツの予想である。

グラフにしてみました


数式は意外と簡単です
セルC4)=IF(OR(C3=1,C3=""),"",IF(ISODD(C3),C3*3*1+1,C3/2))
これを横縦すべてコピーします

ISODD()関数で1つ上のセルを奇数と偶数を判断して
奇数なら3倍して1を足し偶数なら2で割っています
1を切るとループするので1未満は空白にしています

図は16列ですが1000列200行まで取得してみました
1000までで1番長かったのは「871」で178ステップになります


何ステップなのかは規則性はまったく見つかりません

試しに1024列までの長さの1トップ10出してみました

1行目は文字数です
文字数を数えるのはCOUNT()関数です(数値の個数をカウントします)
セルC1)=COUNT(C4:C300)


 数値 文字数  最大値
871178190996
937173250504
703170250504
10171559232
7631529232
7751529232
8591479232
8651479232
87914710024
88914721688
6491449232
6541449232
6551449232
66714421688

分かったことは
最短数 2,4,8,16,32,64,128,256・・・
偶数を2で割っているのですから当たり前ですが
最短ステップで終わります



つまりステップ上に1,2,4,8,16,32,64,128,256・・の数字があれば1になるということになります

256で割り切れる数字は必ず1になります
128で割り切れる数字は必ず1になります
64で割り切れる数字は必ず1になります
32で割り切れる数字は必ず1になります
16で割り切れる数字は必ず1になります
8で割り切れる数字は必ず1になります
4で割り切れる数字は必ず1になります
2で割り切れる数字は必ず1になります
1で割り切れる数字は必ず1になります

あれ?「1で割り切れる数字は必ず1になります」
すべての整数は1で割り切れる数字です
ということは
すべての整数は1になります

コラッツの予想「必ず 1 に到達する」は正しいようです

若干苦しいですが私は「必ず 1 に到達する」と思います

以上 コラッツの問題でした

白と黒の比率TOP
(C) 2001-2017 Digital World