数学講師2913151 views
小学社会311570 views
LaTeX965557 views
ヒストリア294981 views
世界の国567435 views
高校生物553211 views
高校国語790013 views
高校化学2933198 views
教育150077 views
りんご220229 views
Help
Tools

English

素数に最後の 1 個はない〜ユークリッドの論法とエラトステネスのふるい

以下の素数は 25 個、 以下では 168 個、 以下では 1229 個。割合はどんどん薄くなります。

それでも尽きることはありません。素数が有限個だとすると矛盾が出る、という形ではなく、有限個のリストからいつでも新しい素数を作り出せます[1]。

ユークリッドの論法

素数を好きなだけ並べます。 としましょう。全部を掛けた数に を足します。

をリストのどの素数で割っても、余りは です。積の部分は割り切れ、足した だけが残るためです。

は 以上なので、必ず素因数を持ちます。その素因数はリストのどれとも違う。つまりリストは、いつでも完全ではありません[2]。

も もリストにありません。この操作は何度でもくり返せるので、素数が尽きることはない。

背理法ではない

「素数が有限個だと仮定して矛盾を導く」と説明されることが多いものの、もとの論法は仮定を置いていません[1]。

与えられた有限個のリストから、そこに入っていない素数を作る。仮定も矛盾も使わない、直接の作り方です。

ユークリッド自身の書き方も「どんな個数の素数を並べても、それより多くの素数がある」という形でした[2]。

例:小さいリストで試す

と から始めます。積に を足すと で、これは素数。リストに加えます。

なら 、 なら 。どちらも素数で、そのまま新しい素数になりました。

では 。これも素数です。ここまで 4 回続けて、積に を足した数が素数になっています。

例:積に 1 を足した数が素数とは限らない

まで伸ばすと様子が変わります。 で、 を足すと 。

です。素数ではありません。それでも と はリストの外なので、結論は変わらない。

論法が言っているのは「 が素数だ」ではなく「 の素因数がリストの外にある」ということ。ここをとりちがえると、証明が崩れて見えます。

は素数とは限りません。必要なのはリストの外に素因数があるという一点だけです。

リストのどの素数で割っても余りが なので、 の素因数はどれもリストに属さない。

エラトステネスのふるい

素数を実際に数えるには、合成数を消していく方法が使えます[4]。

以上を並べ、 の倍数を消す。次に残った最小の数 の倍数を消す。これをくり返します。

以下では、、、、 の倍数を落とすだけで終わります。残った 25 個が素数です。

平方根まででよい理由

合成数 は と書けます。 と の両方が より大きいと、積が を超えてしまう。

だから小さいほうは必ず 以下。 以下の素数で落とせば、合成数はすべて消えます[4]。

なら なので、 以下の素数 で足りる。 なら 以下の 11 個で足ります。

2 の倍数を落とす

残った最小の数の倍数を落とす

その数の 2 乗が上限を超えたら終わり

例:1000 以下の素数を数える

はおよそ 。 以下の素数は の 11 個です。

この 11 個の倍数を落とすだけで、 までの合成数がすべて消えます。残るのは 168 個。

までなら で、 以下の素数 25 個を使う。残るのは 1229 個です。

割合は薄くなっていく

個数は増え続けますが、密度は下がります。 以下では 4 個で 4 割、 以下では 25 個で 4 分の 1。

万以下では 9592 個で、割合はおよそ 1 割を切ります。それでも にはならない。

素数が現れない区間もあります。 の次の素数は で、あいだの 13 個はすべて合成数です。

密度

範囲を広げるほど薄くなる。 万までで 1 割を切る

個数

範囲を広げるほど増える。上限はない

別の道:オイラーの証明

素数が有限個なら、素数の逆数を使った無限積が有限の値になります。ところが、それは調和級数と等しい[1,3]。

調和級数は発散するので、有限の値には収まりません。ここから素数が無限にあると分かります。

ユークリッドの論法より道具は要るものの、素数の分布の細かさまで踏み込める強みがあります。証明は 200 通り以上あると整理されている[1]。

検算のしかた

ふるいの結果は、区間ごとに数えると確かめやすい。 から に 15 個、 から に 10 個で、合わせて 25 個。

小さい素数を落とし忘れていないかも見ます。 は素数に見えやすく、 の段で落ちるはずのものです。

を素数に数えないことも確かめる。 を含めると素因数分解の一意性が崩れます。

以下の素数をエラトステネスのふるいで求めるとき、倍数を落とす必要がある素数はどこまでですか。

  • 7 まで
  • 13 まで
  • 100 まで
__RESULT__

はおよそ なので、 以下の素数、つまり まで落とせば終わります。 までだと が残ってしまう。

つまずきやすいところ

積に を足した数がいつも素数だと考える。 が反例です。
ユークリッドの論法を背理法だと説明する。仮定を置かない直接の作り方です。
ふるいで より大きい素数の倍数まで落とす。すでに消えているので不要です。
を素数に数える。素因数分解の一意性が崩れるので、素数には含めません。
密度が下がることを、いつか尽きる根拠だと考える。個数は増え続けます。
リストの外に素因数があることと、 が素数であることを混同する。
素数が現れない区間を見て、そこで終わったと判断する。 の先にも素数はあります。

有限個のリストを渡されたら、掛けて を足す。それだけで、いつでも外側の素数が 1 つ手に入ります。

参考

Euclid's theorem - Wikipedia
Satz von Euklid - Wikipedia
Théorème d'Euclide sur les nombres premiers - Wikipédia
Sieve of Eratosthenes - Wikipedia
$100$ 以下に 25 個、$1000$ 以下に 168 個、$10$ 万以下に 9592 個。割合は 4 割から 1 割まで薄くなるのに、素数が尽きることはありません。手もとの素数を全部掛けて $1$ を足せば、どの素数で割っても余りが $1$ になる数ができる。その素因数は必ずリストの外にいます。$2 \times 3 \times 5 \times 7 \times 11 \times 13 + 1 = 30031$ が $59 \times 509$ になる例、背理法だと説明されがちな点、ふるいで $\sqrt{n}$ までしか調べなくてよい理由まで扱いました。