LoginSignup
51
26

More than 5 years have passed since last update.

2が現れる素数が奇跡だという人に物申す

Last updated at Posted at 2017-11-29

2が現れる素数 という記事を読んだ。
「こんな数字いくらでもありそうだな」と思ったが、この記事のブコメで「奇跡」だとか「神」がどうのとか言ってる人たちがいたので、物申したくて検証してみました。

問題の数字はこれです↓

700000000000000007
000000222222000000
000022222222220000
000222000002222000
000000000022220000
000000000222200000
000000002222000000
000000222200000000
000022220000000000
000222222222222000
000222222222222000
700000000000000003

これが素数であることが奇跡なのだそうです。(ブログの筆者ではなくブコメの意見)

素数計数関数

まず直感で「特定の数字が素数である確率」はそんなに小さくない、そして奇跡的なパターンに見える数字はたくさんあると思いました。

前者について、素数の出現間隔はどのくらい広がっていくのだろう?流石に200桁となると小さいのか?と調べていると以下の Wikipedia にたどり着きました。

素数計数関数 - Wikipedia

10分ほど読んだけど216桁だと何%に収束するのかわからんかった😇

奇跡的に見える数字

そもそもこの数字、4隅のうち3つが 7 7 7 ときて、右下が3なのである。3ってなんだよ! どんだけ奇跡妥協してるんだよ!
奇跡的に見える数字なんていくらも考えられる。四隅の数字を別のものでもよいし、縁も全部0以外の数字で埋めてもいい。列の数を2つ削っても左右対称な余白に出来る。

同類の奇跡を探してみる

4隅(7,7,7,3)を別の数字に変えて素数判定をしてみます。(0は除き、4桁目(1の位)は 1,3,7,9 だけチェックしてます)

#!/bin/sh

p1=0000000000000000
p2=000000222222000000000022222222220000000222000002222000000000000022220000000000000222200000000000002222000000000000222200000000000022220000000000000222222222222000000222222222222000

for i in `seq 1 9`; do
    for j in `seq 1 9`; do
        for k in `seq 1 9`; do
            for l in 1 3 7 9; do
                n="$i$p1$j$p2$k$p1$l";
                echo "$i-$j-$k-$l";
                echo $n;
                openssl prime $n;
            done
        done
    done
done


結果

チェックした 2941 個のうち、14個ありました。(openssl prime についてよく知りませんが 実行時間は 40s でした。)

1-1-9-1
100000000000000001000000222222000000000022222222220000000222000002222000000000000022220000000000000222200000000000002222000000000000222200000000000022220000000000000222222222222000000222222222222000900000000000000001
2-3-5-7
200000000000000003000000222222000000000022222222220000000222000002222000000000000022220000000000000222200000000000002222000000000000222200000000000022220000000000000222222222222000000222222222222000500000000000000007
2-6-3-7
200000000000000006000000222222000000000022222222220000000222000002222000000000000022220000000000000222200000000000002222000000000000222200000000000022220000000000000222222222222000000222222222222000300000000000000007
3-3-8-1
300000000000000003000000222222000000000022222222220000000222000002222000000000000022220000000000000222200000000000002222000000000000222200000000000022220000000000000222222222222000000222222222222000800000000000000001
3-8-9-7
300000000000000008000000222222000000000022222222220000000222000002222000000000000022220000000000000222200000000000002222000000000000222200000000000022220000000000000222222222222000000222222222222000900000000000000007
4-7-9-3
400000000000000007000000222222000000000022222222220000000222000002222000000000000022220000000000000222200000000000002222000000000000222200000000000022220000000000000222222222222000000222222222222000900000000000000003
5-6-2-1
500000000000000006000000222222000000000022222222220000000222000002222000000000000022220000000000000222200000000000002222000000000000222200000000000022220000000000000222222222222000000222222222222000200000000000000001
7-1-6-3
700000000000000001000000222222000000000022222222220000000222000002222000000000000022220000000000000222200000000000002222000000000000222200000000000022220000000000000222222222222000000222222222222000600000000000000003
7-5-5-1
700000000000000005000000222222000000000022222222220000000222000002222000000000000022220000000000000222200000000000002222000000000000222200000000000022220000000000000222222222222000000222222222222000500000000000000001
7-7-7-3
700000000000000007000000222222000000000022222222220000000222000002222000000000000022220000000000000222200000000000002222000000000000222200000000000022220000000000000222222222222000000222222222222000700000000000000003
7-9-4-1
700000000000000009000000222222000000000022222222220000000222000002222000000000000022220000000000000222200000000000002222000000000000222200000000000022220000000000000222222222222000000222222222222000400000000000000001
8-2-6-1
800000000000000002000000222222000000000022222222220000000222000002222000000000000022220000000000000222200000000000002222000000000000222200000000000022220000000000000222222222222000000222222222222000600000000000000001
9-7-5-3
900000000000000007000000222222000000000022222222220000000222000002222000000000000022220000000000000222200000000000002222000000000000222200000000000022220000000000000222222222222000000222222222222000500000000000000003
9-9-8-3
900000000000000009000000222222000000000022222222220000000222000002222000000000000022220000000000000222200000000000002222000000000000222200000000000022220000000000000222222222222000000222222222222000800000000000000003

まぁこの中でポーカーするなら 7-7-7-3 がいいのかもしれないですね。

まとめ

やっぱり200桁だろうと4隅変えた3000個のうち素数あるのが確認できた。

51
26
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
51
26