コラッツ問題
計算あそびの エピソードが続きます。
コラッツの数列という ある決めごとで作られた数の連続についてです。
ローター・コラッツ (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列を指定しセルの書式設定 のフォントで スタイルを 太字にしてください。
4 行目の A 列から E 列 までを範囲指定し
コラッツの数列 ( 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)
セルの右下にポインタを合わせ「+」を
ドラッグする [オートフィル]機能 を使ってください。
1001 の数で 判定していますので 145行目で 1 になります。
2017年3月21日