1は素数ではない理由

 素数の定義として、以下の言い回しがよく用いられますね。

 1 より大きな自然数で、
 1 とその数自身以外に約数をもたない数を素数とよぶ。

 時々「1 より大きな自然数で」という部分が抜けている定義文を見かけたりしますが、勝手に省いてはいけません。1は素数ではない ので、しっかりと明示しておく必要があります。文章の最後に「ただし 1 を除く」のように補足しても大丈夫です。

 いずれにしても、素数は次のように定義したほうが簡潔です。

 正の約数を 2 つしかもたない自然数を素数と定義する。

 たとえば、5 の約数は 1 と 5 の 2 個なので素数です。しかし、1 は 1 以外に約数をもたないので、素数ではないことになります。定義にしたがって素数を並べると以下のようになります。

   2, 3, 5, 7, 11, 13, 17, 19, …

 ちなみに「1 より大きな自然数」あるいは「正の約数を 2 つしかもたない自然数」という条件なので、0 は素数ではありません。念のため。

なぜ1は素数ではないのか?

 ところで、なぜ 1 は素数に含めない ように定義されているのでしょうか? その理由は「素因数分解の一意性」にあります。ちょっと堅苦しくて難しい表現ですね。「一意」であるとは「1種類に限る」という意味です。つまり「素因数分解は1つの表し方しかできない」ように素数を定義したいのです。

 素因数分解とは自然数を素数の積に分解することです。たとえば 60 は

   60 = 2 × 2 × 3 × 5

のように 4 個の素数の積で表せます。他の表し方はできません(ただし掛け算の順序は問題にしません)。ところが、1 を素数に含めると、

   60 = 1 × 2 × 2 × 3 × 5
   60 = 1 × 1 × 2 × 2 × 3 × 5
   60 = 1 × 1 × 1 × 2 × 2 × 3 × 5

のように何通りもの表し方ができてしまうので、これはちょっと困ります。見た目が美しくないというだけでなく、整数論などでは「素因数分解の一意性」を使って定理を証明することもあるので、理論構成上も 1 が素数であると具合が悪いです。というわけで、1 は素数に含めないほうがよいのです。

偶素数と奇素数

 2 以外の素数は全て奇数です。なぜなら偶数は 1 とその数自身以外に必ず約数 2 を持つからです。たとえば

   8 = 2 × 4, 12 = 2 × 6

ですね。ただし、2 だけは例外です。2 を素因数分解すると

   2 = 1 × 2

となり、その数自身が 2 なので、唯一の偶素数ということになります。記事の前半で解説したように、1 は素数ではないので最小の奇素数は 3 です。

 ある数が素数であるかを判定するのは現代でも難問です。5 や 13 のように比較的小さな数であれば、素数であることがひと目でわかるのですが、

   524287

が素数であることを判定するには色々な定理を駆使する必要があります。現代ではコンピューターによる数値計算も使って大きな数の素数を見つけています。
 
 1 と素数以外の自然数のことを合成数とよびます。

   4, 6, 8, 9, 10, 12, …

のような数は合成数です。合成数は最低でも 3 つの約数をもちます。1 とその数自身の他に最低でも 1 つということです。たとえば 9 は

   9 = 1 × 9, 9 = 3 × 3

のように分解することができるので、1 と 9 の他に 3 という約数をもちます。

【関連記事】Excel VBA で約数表を作成します

エクセルや数学に関するコメントをお寄せください

  1. あとりえこばと より:
    ChatGPTに「1は素数か」を尋ねました

    今、巷で話題の ChatGPT に色々と質問してみました。
    [Q] 1は素数ですか?
    [A] はい、1は素数ではありません。素数は、1とその自身以外の正の約数を持たない正の整数です。しかし、1は唯一の正の約数を持つため、素数ではありません。最初の素数は2であり、それ以降は3、5、7、11、13、17、19、23、29、31、37、41、43、47、53、59、61、67、71、73、79、83、89、97、101などが挙げられます。
     
    [Q] 0 は素数ですか?
    [A] いいえ、0は素数ではありません。素数は、1とその自身以外の正の約数を持たない正の整数ですが、0は正の整数ではありません。0は整数の中で特別な場合で、素数でも合成数でもありません。

    [Q] 1が素数であると定義すると、どのような問題が生じますか?
    [A] 1が素数であると定義すると、いくつかの問題が生じます。
    1. 素数の定義が崩れる: 素数の定義は、1と自身以外の正の約数を持たない正の整数であるとされています。しかし、1が素数であると定義すると、この定義が崩れてしまいます。
    2. 素数判定アルゴリズムが破綻する: 素数判定アルゴリズムは、与えられた数が素数であるかどうかを判定するためのアルゴリズムです。しかし、1が素数であると定義すると、素数判定アルゴリズムが破綻してしまいます。例えば、エラトステネスのふるいなどのアルゴリズムは、1が素数である場合に誤った結果を出力します。
    3. 数学的証明に影響を与える: 素数に関する多くの数学的定理や証明は、素数が1でないことに基づいています。例えば、フェルマーの小定理や楕円曲線暗号などの暗号理論に関する定理は、1が素数である場合には成り立たなくなります。
    したがって、1を素数と定義することは、素数理論において不便であり、数学的な議論やアルゴリズムに混乱をもたらす可能性があります。