コラッツ問題

Excel 未分類

計算あそびの エピソードが続きます。
コラッツの数列という ある決めごとで作られた数の連続についてです。
ローター・コラッツ (Lothar Collatz 1910-1990 ) が
コラッツの問題とか 3n+1問題 とよばれる ある主張をしました。
英語版⇒Collatz conjecture

どんな正の整数も
その数が 偶数なら その数を1/2倍にする。
その数が 奇数なら その数を3倍にして1を足す。
という操作を続けると 必ず1に到達する。
そして 1→4→2→1 というループに入る。
と言っています。
その主張が正しいのか 正しくないのかまだ解っていません。

下に 10を例に説明します。太字の数の連続がそれで

10 は 偶数なので 2 で割って 5
 5 は 奇数なので 3 を掛けて 1 を足す → 16
として 続けます。
    コラッツの数列 ( Collatz sequence )				
    10        				
         5  10/2            5
     5  16       5x3+1  16
    16   8  16/2         8
     8   4   8/2         4
     4   2   4/2         2
     2   1   2/2            1
     1   4       1x3+1   4
     4   2   4/2         2
     2   1   2/2            1
     1   4       1x3+1   4
     4   2   4/2         2
現象の例として
10未満は 9で 19ステップ 
100未満は  97で 118ステップ  
1,000未満は 871で 178ステップ 
10,000未満は 6,171で 261ステップ です。

エクセルで 操作の流れが解るように 式を作りました。以下です。
色付けした全範囲を指定し 1 行目 A 列に copy and paste してください。
貼り付けのオプションは 貼り付け先の書式に合わせる(M)です。
A列を指定しセルの書式設定 のフォントで スタイルを 太字にしてください。
コラッツの数列 ( Collatz sequence )
1001
=IF(MOD(A2,2)=0,A2/2,A2*3+1) =IF(A2>0, IF(MOD(A2,2)=0,A2&"/2"," "&A2&"x3+1"),0) =IF(MOD(B3,2)=0,""&B3,B3)
=IF(A2=1,0,B3) =IF(MOD(A4,2)=0,A4/2,A4*3+1) =IF(A4>0, IF(MOD(A4,2)=0,A4&"/2"," "&A4&"x3+1"),0) =IF(MOD(B4,2)=0,""&B4,B4)
4 行目の A 列から E 列 までを範囲指定し
セルの右下にポインタを合わせ「+」を
ドラッグする [オートフィル]機能 を使ってください。
1001 の数で 判定していますので 145行目で 1 になります。

« »