Ⅶ 論理・解析・その先へ · Stage 37 — Beyond · 37.3 整数論への第一歩全レッスン →EN日本語
Stage 37 · Beyond

整数論への第一歩

整数には隠された構造がある——素数が「原子」であり、時計は独自の数の世界だ。

16〜99歳 · 先を見渡す最初の一歩 · 一つずつ、丁寧に推論する
整数論の二つの顔:左では 12 が素数の原子 2 · 2 · 3 に分解され、右では mod-12 の時計 上で 175 に落ち着く。

これまでのカリキュラムで、数が何をするかをたっぷり学んできた——足し算、スケーリング、傾き、積分。整数論はもっと静かな問いを立てる:整数は何でできているのか?実は整数には隠された構造がある。ごく少数の数——素数——が分割できない原子であり、他のすべての整数はそれらをちょうど一通りの方法で組み合わせてできている。割り算と余りだけで、二つの巨大な数の最大公約数を数行で求められるし、時計の文字盤のように循環する全く新しい算術を作ることもできる。これらのアイデアは魅力的な遊びに見えるが、実はあなたのオンライン生活を守る仕組みでもある——ブラウザの鍵マークの裏にあるセキュリティは、素数と時計算術に頼っている。さあ、正直なはじめのツアーに出発しよう。

37.3.1 整除性と約数

まず二つの整数の間で最も基本的な関係から始めよう:一方が他方に割り切れるかどうかだ。b ∣ a と書いて「ba を割り切る」と読む。これは整数 k があって a = b · k となることを意味する。余りはゼロ。3 ∣ 12 は 12 = 3 · 4 だから成り立つが、3 ∤ 13 だ。というのも 13 = 3 · 4 + 1 となり、頑固な 1 が残るからだ。

正直な絵は点の長方形だ。n 個の点を d 列に並べる。列がきれいに揃えば長方形は完全——それがまさに d ∣ n の意味だ。最後の行がはみ出せば、その隙間が 余り r だ。整数の割り算は必ず、次のようにきれいに書ける:

a = q · b + r,   ただし 0 ≤ r < b

これが除法の原理(割り算の定理)であり、余り r がこのレッスン全体の主役だ。整除性とは単に r = 0 の場合にすぎない。

例 — 7 は 30 の約数か?

割ってみよう:30 = 4 · 7 + 2。商は 4、余りは 2r = 2 ≠ 0 なので 7 ∤ 30。30 を割り切る数——約数——をすべて列挙すると 1, 2, 3, 5, 6, 10, 15, 30 となる。

試してみよう 整除性テスター
n と列数 d を選ぼう。d ∣ n のとき点の長方形はきれいに揃う——そうでなければ最後の行が余りぶん欠ける。
数 n 12
列数 d 3

37.3.2 素数と一意分解定理

1列より広い長方形に並べることができない数がある。素数とは、1 より大きく、約数が 1 と自分自身だけの整数のことだ:2, 3, 5, 7, 11, 13, … これらが原子だ。約数をもっと持つ数——12, 30, 100——は合成数と呼ばれ、より小さい因数に分解できる。

素数を手で探すなら、古代ギリシャのエラトステネスの篩が最強だ。数を格子に書き、2 を丸で囲み(素数)、それ以降の 2 の倍数をすべて消す。次に残った 3 を丸で囲み、その倍数を消す。これを繰り返す。生き残ったものが素数だ。消す操作は整除性をひたすら繰り返しているだけだ。

試してみよう エラトステネスの篩
格子を N まで広げよう。 のマスが素数——消されずに生き残ったもの——で、一覧にすべて表示される。
N まで 30

ここで深い事実が現れる。1 より大きい整数をとり、それ以上分割できなくなるまで因数に分け続けよう——できあがる因数ツリーの葉はすべて素数だ。別の方法で分解しても、同じ原子が(順序を除いて)現れる。これが算術の基本定理(素因数分解の一意性):1 より大きいすべての整数は、素数の積としてただ一通りに表せる。

12 = 2² · 3,   60 = 2² · 3 · 5,   360 = 2³ · 3² · 5

この一意性こそ、素数を「原子」と呼ぶにふさわしい理由だ。分数を約分して既約分数にする方法がただ一つに定まるのも、このレッスンの後の結果がすべて整合するのも、この定理が土台にあるからだ。

試してみよう 因数ツリー
数を選んで分解されていく様子を見てみよう。 の葉が素数の原子で、その素因数分解が表示される。
数 n 60
注意 — 1 は素数ではない

1 を最小の素数と呼びたくなるが、それは間違いだ。素数は約数がちょうど二つあるが、1 の約数は自分自身だけの一つ。だから 1 は「単数元」という独自のクラスに属する。もし 1 を素数とすると一意性が崩れる:12 = 2²·3 = 2²·3·1 = 2²·3·1·1 = … 分解はただ一通りでなければならないから、1 は意図的に除外されている

37.3.3 最大公約数とユークリッドの互除法

二つの数は普通いくつかの因数を共有する。その中で最大のものが最大公約数(gcd)で、gcd(a, b) と書く。両方を素因数分解して比べることもできるが、大きな数では時間がかかり、素因数分解自体が本当に難しい。2000 年以上前から知られている、驚くほど速い近道がある:ユークリッドの互除法だ。

アイデアは一つの観察に基づく。ab の両方を割り切る数は、必ず余り r = a − q·b も割り切る。だから (a, b) の公約数は (b, r) の公約数と完全に同じ——同じ gcd を持つより小さいペアだ。大きい方を余りで置き換えて繰り返す。数はどんどん小さくなり、余りが 0 になったとき、最後の 0 でない余り が gcd だ。

例 — gcd(48, 18) を 3 ステップで

48 = 2·18 + 12  →  18 = 1·12 + 6  →  12 = 2·6 + 0.

最後の 0 でない余りは 6 なので gcd(48, 18) = 6。確認:48 = 6·8、18 = 6·3 で、8 と 3 は共通の因数を持たない——6 が本当に最大の公約数だ。

試してみよう ユークリッドの互除法
ペアを選ぼう。各行が a = q·b + r の 1 ステップで、r = 0 になったら終了。最後の 0 でない余りが gcd だ。
ペア (a, b)

37.3.4 合同式:時計の上の算術

ここで整数論がまったく新しい世界への扉を開く。時計の文字盤には 0 から 11 の時刻しかない。9 時に 5 時間を足しても 14 にはならず、ぐるっと回って 2 になる。時計は 12 で割った余りだけを静かに残している。これが合同式のすべてのアイデアだ。

法 m を固定する。m で割った余りが等しいとき、二つの数はmod m で合同という——ab (mod m) と書く。同値な条件として m ∣ (a − b) でもある。どんな整数も 0, 1, 2, …, m−1 のどれかにちょうど一つ合同になる:これを剰余(レジデュー)という。数直線全体が文字盤の上に折りたたまれるのだ。

175 (mod 12),   295 (mod 12),   −75 (mod 12)

三つとも同じ場所に落ち着く——同じ「時刻」だ。合同式は等しさのあいまいな近似ではなく、余りの厳密な等しさだ。

試してみよう 時計の算術
a と法 m を選ぼう。針が剰余、つまり の点——a が時計上に落ちる場所——へ動く。
数 a 17
法 m 12

37.3.5 合同式を使う——そして落とし穴

合同式が強力なのは、足し算掛け算について通常の算術と同じように振る舞うからだ。a ≡ a′ かつ b ≡ b′ (mod m) ならば、

a + ba′ + b′   かつ   a · ba′ · b′  (mod m).

このシンプルな規則は本当に役立つ。大きな累乗の一の位は? 一の位は mod 10 の値にすぎない。7 の累乗は 7, 9, 3, 1 と周期 4 で循環するから、7100 の一の位は 74 の一の位、つまり 1曜日は? mod 7 で計算する。9 で割り切れる? 数は各桁の和に mod 9 で合同——これが「9 を捨てる」検算で計算ミスをつかまえられる理由だ。

例 — 水曜日から 60 日後は何曜日?

曜日は周期 7 で繰り返すから mod 7 に減らす:60 = 8·7 + 4、つまり 60 ≡ 4 (mod 7)。水曜から 4 日進むと → 木曜、金曜、土曜、日曜。60 日をすべて数える必要はなかった。

試してみよう 合同式の足し算と掛け算
二つの数と法を選び、+ か × を選ぼう。先に剰余に減らしてから合わせても、先に合わせてから減らしても、同じ剰余が得られる。
a 17
b 29
法 m 12
演算
注意 — 合同式で割り算はできない

足し算と掛け算は安全だが、共通因数を約分することはできない。mod 6 では 2·4 = 8 ≡ 2 かつ 2·1 = 2 なので 2·4 ≡ 2·1 (mod 6)。しかし「2 で割る」と 4 ≡ 1 になってしまい、これは偽だ(4 と 1 は mod 6 で異なる剰余)。約分が許されるのは、約分する因数と法が互いに素のときだけだ。この一つの落とし穴を覚えておけば、時計算術は実に信頼できる。

持ち帰るべきもの

この最初のツアーの五つのアイデア
アイデア意味正直なテスト
整除性b ∣ a とは a = b·k(余りなし)a = q·b + r と書いて r = 0 を確認
素数 & 基本定理n > 1 はすべて素数の積にただ一通りに書ける因数ツリー;12 = 2²·3(1 は素数でない)
gcda, b の最大公約数ユークリッド:最後の 0 でない余り、gcd(48,18)=6
合同式a ≡ b (mod m):余りが等しい、m ∣ (a−b)剰余、17 ≡ 5 (mod 12)
mod 算術+ と × は合同を保つ(÷ は不可一の位、曜日、9 を捨てる検算

練習問題

  1. 除法の原理を使って 7 ∣ 100 かどうか判定し、商と余りを求めよ。
    解答を見る
    100 = 14·7 + 2。商は 14、余りは 2。余りが 0 でないので 7 ∤ 100
  2. 360 の素因数分解を書き、それを使って 360 の約数の個数を求めよ。
    解答を見る
    360 = 2³ · 3² · 5。約数の個数は各素数の(指数 + 1)の積:(3+1)(2+1)(1+1) = 4·3·2 = 24 個。
  3. ユークリッドの互除法で gcd(252, 105) を求め、各ステップを示せ。
    解答を見る
    252 = 2·105 + 42 → 105 = 2·42 + 21 → 42 = 2·21 + 0。最後の 0 でない余りは 21 なので gcd(252, 105) = 21
  4. 10 時 だとする。100 時間後 は何時か?(12 時間制、mod 12 で計算せよ。)
    解答を見る
    100 ≡ 4 (mod 12)(100 = 8·12 + 4)。だから 4 時間進めて 10 + 4 = 14 ≡ 2 (mod 12)。2 時 になる。
  5. mod 10 の算術を使って 320 の一の位 を求めよ。
    解答を見る
    3 の累乗は mod 10 で周期 4:3, 9, 7, 1, 3, 9, 7, 1, … 20 = 4·5 は 4 の倍数なので、320 ≡ 341 (mod 10)。一の位は 1
  6. mod 6 の合同式で 3 を約分できないことを示す反例を一つ挙げよ。
    解答を見る
    mod 6 で、3·2 = 6 ≡ 0 かつ 3·0 = 0 なので 3·2 ≡ 3·0 (mod 6)。3 を約分すると 2 ≡ 0 (mod 6) となるが、これは偽。因数 3 は法 6 と公約数 3 を共有するため、約分は許されない。

🎯 確認クイズ

6 問で理解を定着させよう。正しいと思う答えをタップしてね。

§ 先生・保護者の方へ

このレッスンは標準的な高校カリキュラムを超えた発展内容——整数論への道案内で、数学オリンピックや現代の暗号技術(RSA 暗号は素数と合同算術に直接依存している)への入り口だ。種は小学校で因数・倍数・素数を学んだときに蒔かれている(因数、倍数と素数)。四つのアイデアが柱だ:除法の原理 a = q·b + r による整除性;一意的な素因数分解(算術の基本定理、1 は素数でないという意図的な約束);最大公約数のためのユークリッドの互除法;そして時計算術としての合同式。強調すべき中心的な注意点は、合同式では足し算と掛け算は自由にできるが割り算はできないということだ。ここから道は抽象代数と整数論へと分かれていく——広大な野原へと静かに開かれた扉だ。

eastmath.com · Stage 37 · 37.3 整数論への第一歩 · 一つずつ、丁寧に推論する