見出し画像

素数について

名だたる中学校の算数の入試問題を解いてみましたが、ほぼ例外なく「素数」を扱っており、2024を素因数分解すると 2^3*11*23であることを手掛かりに解くような問題にも遭遇しました。
さまざまな読者がいらっしゃると思いますので、まず素数の定義ですが、
約数が1とその数自身の2つしかない正の整数を素数という
としてもよいのではないかと思います。素数以外は素数の積の形(素因数分解の結果のことです)で表すことができ合成数と呼ばれます。
素数に拘るのは何故かということですが、まずは実用的な話として、ある整数の約数の数を求めたり、約数の総和を求めるときに役立ちます(これとて、あまり、実用的ではないかもしませんが・・・)。例えばある整数が、素数p, qをつかって、p^3*q^2という素因数分解ができる合成数だとしましょう。この合成数の約数は、下のようになります。

m が 0, 1, 2, 3 の4パターン、それぞれの mに対して n が0, 1, 2 の3パターン。
つまり 4*3 = 12 (個)の約数があります。0乗は1と定義されています。

いきなり抽象的な話になりましたが、このパターンの合成数として2^3*3^2で表される72で試していただければご理解いただけると思います。
「受験テクニック」としてなら、
『約数の個数は、素因数分解したときの各素因数の累乗の指数に1を足したものの積である』
という感じになるのでしょうか。
上の例では p^3*q^2ですから (3+1) * (2+ 1) = 12 と結果は正しく求まりますが、図のように考えることによって、p の4パターン (m = 0, 1, 2, 3) のそれぞれに q の3パターン ( n = 0, 1, 2) が考えられるので、4*3=12 とした方が納得しやすいでしょう。なぜ1を足すか、それは累乗の指数が0の場合をカウントするからなのです。
次に約数の総和ですが、
( p^0 + p^1 + p^2 + p^3 ) * (q^0 + q^1 + q^2 ) を展開しますと、
p^0*q^0 + p^0*q^1 + p^0*q^2 + p^1+q^0 + p^1*q^1 + p^1*a^2
      + p^2*q^0 + p^2*q^1 + p^2*q^2 + p^3*q^0 + p^3*q^1 + p^3*q^2 
となり、上の図を見ていただくと分かりますが、全ての訳数をちゃんと足していることが分かります。
唐突に( p^0 + p^1 + p^2 + p^3 ) * (q^0 + q^1 + q^2 )を展開、としてしまいましたが、例えば72の約数の総和を求めるときに12個の約数をすべて求めて足していってもよいのですが、
 (2^0 + 2^1 + 2^2 + 2^3)*(3^0 + 3^1 + 3^2)
       = (1+2+4+8)*( 1+3+9) =15*13 = 195
として求めた方が少し楽ですしケアレスミスも少ないという話です。
ここらあたりは受験において「実用的な」話でしょう。

素数の見つけ方としては、「エラトステネスの篩(ふるい)」というアルゴリズムが秀逸ですね。釈迦に説法で恐縮ですが、
① 1は素数でない。
② 残っている次の数は素数。
③ 素数の倍数は素数でないので削除して②にもどる。
ということをループしていくことによって、素数を見つけていくというもので、50までなら下のように記すことでバッサバッサと合成数を削除していけます。

2が素数だと分かると残りの偶数はすべて削除されて、スッキリします。
3は素数で、上のように数字を書いておくと、その倍数は斜めに出現し、これも心地よく削除。

当然のことながら、2以外の素数は奇数ですから、一の位は1、3、7、9(5のときは5の倍数となるので削除されてしまっています)のどれかになります。上に出てきた素数は中学入試の算数でちらほら見かけたものですね。高校入試レベルでも、651(21*31)あたりを素因数分解させるような問題を出したら、超意地悪なことになります。2024が2^3*11*23で11と23が絡んでいました。ちなみに2025は素因数分解せずとも 2 + 0 + 2 + 5 = 9 ですから9 の倍数だということが分かります。2025/9 = 225 でこれもまた9の倍数、225/9 = 25となるので、2025 = 3^4*5^2 と素因数分解できます。約数の個数は、5*3 = 15 (個)、約数の総和は、(1 + 3 + 9 + 27 + 81 )*(1 + 5 + 25)、つまり、131*31=4061。オーーーット! 131も31も素数です!このあたり、香ばしい匂いがしますね。

感動的な証明があります。
それは、「素数は無数に存在することを証明せよ」という問に対する解答です。知っている人は知っている話ですので、これがそのまま入試に出題されることはないでしょうが、この発想は汎用性があります。
まず証明をご紹介します。

証)素数が有限個で最大の素数をpとし、2からpまでのすべての素数の積に1を加えた数Nを考える。
     N = 2*3*5*・・・*p + 1
Nは、どの素数で割っても1あまる数であり、2~p までのどの素数の倍数にもならないので素数である。2*3*5*・・・*p+1>>pであり、pが最大の素数であることに反する。つまり素数が有限個で最大の素数をpと仮定した結果矛盾が生じたので、この仮定があやまりであり、素数は無限に存在する■

こんなことが学生時代の私には到底思いつくことなどできず、解説を読んだときに驚愕したことを今でもvividに記憶しています。

ただ、この証明の発想を利用すれば、例えば2026/2025は既約分数であることがすぐに分かります。2025は合成数で素因数分解すると3^4*5^2であることは先にも述べましたが、これに1を加えた2026はこれらの素因数のどれの倍数でもありません。したがって、約分(共通な素因数を消去していくと考えられます)することができないことがすぐに分かります。

現実的な話に戻しますと、次に年の数が素数になるのは2027年です。再来年の中学受験生はまずそのことを教えられるのだろうな、と予測します。

最後に、素数は実は暗号の分野で大きな役割を果たしています。大きな整数の素因数分解の難しさが解読の困難性を基礎付けています。この話は、また稿を改めて。

いいなと思ったら応援しよう!