・無限ループ                            YI 氏

 最近、面白い性質を見つけた。ある数からスタートし、その数が素数なら、10倍して1を足
す。合成数なら、最小の素因数で割る。

 これを繰り返すと、必ずいつか「43」になる。(そのあとはループ)。

 10n+3や10n+9だと複数のループがあるが、 7のケースはループが長すぎてよくわか
らない。


(コメント) 5のケースを実際に計算してみた。

 5 → 10*5+1=51=3*17 → 51÷3=17 → 10*17+1=171=3*3*19 →
171÷3=57=3*19 → 57÷3=19 → 10*19+1=191 →
10*191+1=1911=3*7*7*13 →(途中省略)→ 10*13+1=131 →
10*131+1=1311=3*19*23 →(途中省略)→ 10*23+1=231=3*7*11 →
(途中省略)→ 10*11+1=111=3*37 →(途中省略)→ 10*37+1=371=7*53
→(途中省略)→ 10*53+1=531=3*3*59 →(途中省略)→
10*59+1=591=3*197 →(途中省略)→ 10*197+1=1971=3*3*3*73 →
(途中省略)→ 10*73+1=731=17*43 → 731÷17=43 → 10*43+1=431
→ 10*431+1=4311=3*3*479 →(途中省略)→ 10*479+1=4791=3*1597
→(途中省略)→ 10*1597+1=15971 → 10*15971+1=159711=3*139*383
→(途中省略)→ 10*383+1=3831=3*1277 →(途中省略)→
10*1277+1=12771=3*3*3*11*43 → 12771÷3÷3÷3÷11=43
→(以降、無限ループ)


 ABCDEFさんが考察されました。(平成26年3月28日付け)

 調べてみました。ある数が合成数なら素因数で割ることを何回かやって、いずれは素数に
なるので、ある数が素数の場合だけを調べれば十分です。10000以下の素数に限定して調
べてみました。

■ 10n+1の場合

 すべて43になりました。43になるまでの回数が一番多かったのは6421で112回でした。

■ 10n+3の場合

 すべて 37、73、263 のどれかになりました。これらのどれかになるまでの回数が一番多
かったのは5113で91回でした。

■ 10n+9の場合

 すべて 23、47、127、139 のどれかになりました。これらのどれかになるまでの回数が一
番多かったのは6977で106回でした。

■ 10n+7の場合

 すべて41になりました。41になるまでの回数が一番多かったのは9173で138回でした。41を
含むループの長さは71でループの中の最大の数は1045977でした。


 YI さんからのコメントです。(平成26年3月28日付け)

 10n+7のループも一種類しか見つかりませんでしたか。ほかのループはどうして存在しない
のでしょうか。証明は難しそうです。

 10n+1だと、

・あるa以上の数について、操作を続けていけば一度はaを下回ることを証明する。
・a以下のすべての数について検証。

という流れで証明できそうですが、具体的な方法は何も思いつきません。


 ABCDEFさんからのコメントです。(平成26年3月28日付け)

 この手の問題の証明は難しい場合が多いと思います。まず一番単純そうなケース 2n+1 か
ら考えてはどうでしょうか。

 自然数nに対して次の操作をする。

  nが素数であれば、2をかけて1をたす。
  nが合成数であれば一番小さい素因数で割る。

この操作を続ければ必ず5になることを示せ。

 100000以下のすべての素数で調べたら、すべて5になりました。一番回数がかかったので
も33回でした(63521のとき)。平均して15.6回程度です。途中で現れる一番大きな数でも
4058879でした(63419のとき)。

 10n+1や10n+7と比べるとかなり早くループに入りますから、これの方が考えやすいと思い
ます。もちろん全然証明できてませんけど。なお、5を含むループには3もあるので、「必ず5
になる」は「必ず3になる」の方がいいかもしれません。これなら一番回数がかかるのは38回
です。


 らすかるさんからのコメントです。(平成26年3月28日付け)

 横から一つ質問ですが(10n+1なども同じなのですが)、「nが素数であれば、2をかけて1を
たす。nが合成数であれば一番小さい素因数で割る。」というのは、「nが合成数であれば、最
初にnの最大の素因数をnとする。そして『nに2をかけて1を足したものの最大の素因数をn
とする』を繰り返す」と同じことですか?
(「一番小さい素因数で割る」だと回数がやたら多くなっていろいろな数が登場しますので、同
 じ意味ならばこちらの回数で考えた方が素数を渡り歩くだけになって考えやすそうな気がし
 ます。)


 ABCDEFさんからのコメントです。(平成26年3月28日付け)

 そうですね。理論的にはその方がいいと思います。私も最大の素因数をとるでいいのじゃ
ないのかなと思いもしましたが、実際に手作業でするなら、3で割れるか、5で割れるか、・・
と考えて作業を続けていくこの形の方がやりやすいのではないでしょうか。(ボケ防止の算数
として100マス計算よりは面白そう)だからYIさんもこの形で書かれたのではないかかと思い
ます。私のプログラムも3で割れるか、5で割れるか、・・・・をそのまま書いたものです。

 どちらでもいいと思います。回数が何回とか書くときはどちらでやったかを書くということに
しておけばいいのではないでしょうか。


 YI さんからのコメントです。(平成26年3月28日付け)

 わざわざ「最大の素因数にする」と書かなかったのは、前の数から次の数に置き換えたよ
うなニュアンスがあって、計算して求めたように聞こえにくいからで、もちろんどちらでも同じ
です。

 10n+1にしたのは、数字の右に「1」を付け足しただけで、手作業で調べるのが楽だったか
らです。もちろん、2n+1のほうが考えやすく、一般にan+bでもいいと思います。

 有名な3n+1予想に似ているので証明は難しいと思いますが・・・


                                            投稿一覧に戻る