■ディオファントス方程式(その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

である.

===================================