素数とは、と自分自身以外に正の約数を持たない、以上の整数のことです。と続きます。は素数に含めません(理由は後述)。素数でない以上の整数()は合成数と呼ばれ、必ず自分より小さい素数の積に分解できます。
1 エラトステネスのふるい
以下の素数を一気に列挙する古典的な方法です。
- からまでの整数を並べる。
- まだ消していない最小の数を素数として確定し、の倍数(自身を除く)をすべて消す。
- 次に残っている最小の数へ進んで 2 を繰り返す。になったら終了。
消し残った数が素数です。より大きい数についてはふるい落とす必要がないので、で打ち切ってよい、というのがこの方法の効率の要です。
2 素因数分解の一意性——算術の基本定理
以上のどの整数も、素数の積として、掛ける順序を除きただ一通りに書けます。これを算術の基本定理と呼びます。という書き方が他に存在しないことを、私たちは当たり前のように使っていますが、これはまったく自明ではありません。
一意性の証明の核心にあるのはユークリッドの補題です——「素数が積を割り切るなら、はかの少なくとも一方を割り切る」という主張で、一見当たり前に見えますが、これ自体が証明を要する事実です。この補題は、が互除法によっての形(ベズーの等式)に書けることから導かれます——ならなのでと書け、両辺にを掛けたの左辺は(を使うと)どちらの項もで割り切れるため、右辺のもで割り切れる、という流れです。互除法という計算の道具が、素因数分解の一意性という根本的な事実を裏で支えているわけです。
3 素数は無限に存在する
素数がどこかで尽きてしまわないことも、証明が必要な事実です。ユークリッドによる証明を見てみましょう。
素数は有限個ではありません。 背理法で示します。もし素数が有限個しかなく、それをと全部並べられたとします。このとき
を考えます。はどので割っても余るので、のどれによっても割り切れません。ところがは以上の整数なので、素因数を少なくとも1つ持ちます(算術の基本定理より)。その素因数はのどれとも異なる、新しい素数です。これは「素数はで全部」という仮定に矛盾します。
ここで「自身が素数である」と誤解しないよう注意してください。証明が言っているのは「の素因数のどれかがにない新顔だ」ということだけで、自身が素数かどうかは分かりません。実際は合成数です。
閑話休題:どこまでも続く「素数のない砂漠」と、埋まらない双子の隙間 素数はどれだけ間隔を開けても、その先にはまた次の素数が現れます。しかし局所的には、素数が全く現れない区間をいくらでも長く作れます。として、という個の連続した整数を考えると、()はで割り切れます(ももの倍数だから)。つまりこれらは全部合成数——好きなだけ長い「素数砂漠」がいつでも作れてしまうのです。
その一方で、正反対の問いは驚くほど手強いままです。のように差がの素数の組を双子素数と呼びますが、「双子素数は無限に存在するか」は、百年以上未解決の問題です。潮目が変わったのは2013年、当時無名に近かった張益唐(チャン・イタン)が「差が7000万以下の素数の組が無限に存在する」ことを証明し、数学界を驚かせます。この結果を受けて、ポリマス・プロジェクトという数学者たちの共同オンライン作業によって上限は急速に縮められ、「差が246以下の素数の組が無限に存在する」という結果も得られました(差ちょうどの双子素数予想そのものは、依然として未解決です)。