素数生成式で検証した数式は、いずれもan2+bn+cという形でした。ならばこの形式の式をしらみつぶしに検証していけば、他の素数生成式を発見できるのではないだろうか。ということで試してみました。
と言いましても、当然のことながら無限に探索することは不可能ですので、実際のところとしては1≦a≦4、1≦b≦1000、1≦c≦5000(ただしcは奇数のみ)の組み合わせ、合計1000万のパターンを調べてみました。
下準備として、上記の1000万の組み合わせに対して0≦n≦1000の範囲で大まかに素数を生成する割合を求めます。ここで580個以上の素数を生成した式が以下の28の式になります。当然、オイラーの式も入っています。
580という閾値は、オイラーのn2+n+41が582でしたので、これに近しい成績を上げるものとして定めました。プログラムは素数生成式で使用したものと同じです。
- n2+n+41
- n2+3n+43
- n2+5n+47
- n2+999n+61
- 2n2+40n+1
- 2n2+44n+43
- 2n2+48n+89
- 2n2+52n+139
- 2n2+56n+193
- 2n2+60n+251
- 2n2+64n+313
- 2n2+68n+379
- 2n2+72n+449
- 2n2+76n+523
- 2n2+80n+601
- 2n2+84n+683
- 2n2+88n+769
- 2n2+92n+859
- 2n2+96n+953
- 2n2+100n+1051
- 2n2+104n+1153
- 2n2+108n+1259
- 2n2+112n+1369
- 2n2+116n+1483
- 2n2+120n+1601
- 2n2+124n+1723
- 2n2+128n+1849
- 2n2+132n+1979
次に、以上の28式に対して0≦n≦1000000に対して検証してみたところ、最もよい成績をあげたのはn2+999n+61という式でした。成績は以下の通りです。
式 | n2+999n+61 | |
---|---|---|
nに対する素数の存在 | 10以下 | 11個 (100.0%) |
100以下 | 76個(75.2%) | |
1,000以下 | 586個(58.5%) | |
1万以下 | 4,534個(45.3%) | |
10万以下 | 36,281個(36.3%) | |
100万以下 | 297,769個(29.8%) |
式 | 4n2+4n+59 | |
---|---|---|
式の値に対する素数の存在 | 10以下 | - |
100以下 | 1個 (100.0%) | |
1,000以下 | 10個(100.0%) | |
1万以下 | 73個(79.3%) | |
10万以下 | 387個(62.5%) | |
100万以下 | 1,401個(51.9%) | |
1000万以下 | 4,331個(45.5%) | |
1億以下 | 12,572個(40.4%) | |
10億以下 | 36,126個(36.3%) | |
100億以下 | 103,164個(32.7%) | |
1000億以下 | 297,629個(29.8%) |
個人的にはオイラーの式を上回る成績を上げる式を発見できたのでそれで満足なのですが、多分数学的な研究としてはここからがスタートなのだと思います。例えば、n2+3n+43、n2+5n+47の2式はオイラーの式に非常に近い確率で素数を生成しました。ということは、この三つの式の関係を詳しく調べることによって素数の性質を導き出すことが出来るのかもしれません。が、数学素人の私にはそこまでの研究は手に余りますので、ここから先は読者の皆様にお任せいたします(^^)。