■ディオファントス方程式(その20)
【3】セルオートマトン表示
2進数表示で「二倍する」という操作は1ビットシフトさせる,「三倍する」という操作は「2n」+「n」すなわち2倍して同じものを加えることです.「任意の奇数を三倍して1を足すと必ず偶数になる」わけですから,それに引き続く「偶数だったら2で割る」の操作はワンセットになります.
2・52=1010
2・212=101010
2・852=10101010
2・3412=1010101010
2・13652=101010101010
2・54612=10101010101010
3・52=1111
3・212=111111
3・852=11111111
3・3412=1111111111
3・13652=111111111111
3・54612=11111111111111
3・52+1=10000
3・212+1=1000000
3・852+1=100000000
3・3412+1=10000000000
3・13652+1=1000000000000
3・54612+1=100000000000000
6→3→10→5→16→8→4→2→1の過程をビット計算でみると
110
÷2 11
×2 110
×3 1001
+1 1010
÷2 101(5)
×2 1010
×3 1111
+1 10000
÷16 1(1)
11→34→17→52→26→13→40→20→10→5→16→8→4→2→1
1011
×2 10110
×3 100001
+1 100010
÷2 10001(17)
×2 100010
×3 110011
+1 110100
÷4 1101(13)
×2 11010
×3 100111
+1 101000
÷8 101(5)
×2 1010
×3 1111
+1 10000
÷16 1(1)
奇数41(101001)に対しては
101001
×2 1010010
×3 1111011
+1 1111100
÷4 11111(62)
×2 111110
×3 1011101
+1 1011110
÷2 101111(47)
すなわち,このループ
101001→11111→101111→・・・
が巡回することなしに1010・・・0101にたどり着くかどうかという問題になる.1010・・・0101にたどり着く直前は
1010・・・0101000000000
したがって+1の直前は
1010・・・0100111111111
である.
===================================