19

r 1 - ntnu.edu.tw

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

基礎數論

李華介

國立台灣師範大學數學系

Chapter 1

整數的基本性質

雖然有些同學已對整數的性質相當了解, 我們想利用這個大家較熟悉的東西來介紹一下如

何用比較“數學”的方法來處理問題. 有些簡單的問題我們可能會故意繞遠路來處理, 主要

原因是希望大家能熟悉表達數學的方法和形式以及邏輯推演的過程. 所以這一章會顯得較

為冗長. 若大家對這些性質已很熟悉且認為表達數學的能力已很成熟, 可以略過此章,直接

進入下一章.

1.1. 因數與倍數

首先我們介紹幾個符號順便複習一下集合的概念. 要知道符號是數學上幫助我們能簡明表

達事情的必要工具, 大家應該要學習如何適切的使用符號.

在本講義中我們用 Z 來表示所有整數所成的集合. 所以 0 在 Z 中, 2 也在 Z 中, 2007和 −365 也在 Z 中. 這樣一來當我們要說一個數 a 是整數時, 我們只要說 a 在 Z 中就好了. 在數學上我們要說一個東西在一個集合中就用“∈” 這個符號, 也就是“屬於”的意思. 所

以以後我們要表達 a 是一個整數就直接說 a ∈ Z 即可. 我們也常只考慮正整數, 在本講義

中我們用 N 表示所有正整數所成的集合. 所以我們用 a ∈ N 來表示 a 是一個正整數.

對於整數一開始是由自然數出發,利用數數的方法我們定義了加法,接著有了負的概念

整個整數加法的體系就建立起來了。給定 a ∈ Z, 我們用 2a 表示. a + a 一般來說若 n ∈ N我們將 n 個 a 相加的結果表為 na. 我們也將 (−n)a 看成 n 個 −a 相加所得之值. 若我

們再將 0a 定為 0, 如此一來對任意的 m ∈ Z, ma 都有了定義. 如此定義出來的乘法和加

法之間所滿足的運算規則如交換率, 結合率和分配率等此處就不再贅述. 我們將可以寫成

ma 其中 m ∈ Z 的數稱為 a 的倍數 (multiple). 另一方面若 b 是 a 的倍數, 我們也稱 a 是

b 的因數 (divisor). 符號記為 a|b.

我們將 a 的倍數所成的集合用 aZ 來表示. 也就是說 aZ 中的元素都是 ma 這樣的形

式其中 m ∈ Z. 這樣的集合可用 aZ = {ma | m ∈ Z} 來表示. 因此我們可以說 b ∈ aZ 和 b

是 a 的倍數 (或 a 是 b 的因數) 是一樣的意思.

1

2 1. 整數的基本性質

接下來我們想用集合的角度處理因數倍數的一些性質. 要注意這些性質大家高中時都

已證過, 我們用集合的角度處理並沒有比較方便,介紹這樣的處理方法僅是利用它讓大家

熟悉一下集合的語言.

首先注意若 a ∈ Z, aZ 這一個集合並不單單是一個集合. 由於整數在加法和乘法之下

有所謂的封閉性, aZ 也有以下兩個重要的封閉性.

Proposition 1.1.1. 假設 a ∈ Z 且 b, c ∈ aZ. 則我們有以下之性質.

(1) b + c ∈ aZ.

(2) 對任意 m ∈ Z 皆有 mb ∈ aZ.

Proof. 因為 b, c ∈ aZ 依定義知存在 n, n� ∈ Z 使得 b = na 且 c = n�a.

(1) 由分配率知 b + c = na + n�a = (n + n�)a. 又由於 n, n� ∈ Z 我們知 n + n� ∈ Z, 故

得 b + c ∈ aZ.

(2) 由結合率知 mb = m(na) = (mn)a. 又由於 m,n ∈ Z 我們知 mn ∈ Z, 故得

mb ∈ aZ. �

結合 Proposition 1.1.1 的結果我們有以下之性質.

Corollary 1.1.2. 假設 a ∈ Z 且 b, c ∈ aZ. 若 m,n ∈ Z 則 mb + nc ∈ aZ. 換言之, 若 a|b且 a|c, 則對任意 m,n ∈ Z 皆有 a|mb + nc.

Proof. 因為 b, c ∈ aZ 以及 m,n ∈ Z, 由 Proposition 1.1.1(2) 知 mb, nc ∈ aZ. 再利用

Proposition 1.1.1(1) 知 mb + nc ∈ aZ. 也就是說 a|mb + nc. �

大部分一個重要的性質我們都會用 Proposition 來稱呼再冠上編號以便以後引用. 而直

接套用 Proposition 所得的性質我們都用 Corollary 來稱呼.

接著我們來看集合單純的性質. 若 A,B 是集合且 A 中的元素都在 B 中, 則我們就用

A ⊆ B 來表示 (稱 A 包含於 B). 很容易有以下之性質:

(1) 若 A ⊆ B 且 B ⊆ A 則 A = B.

(2) 若 A ⊆ B 且 B ⊆ C 則 A ⊆ C.

結合這集合的性質以及前面提的封閉性我們有以下之結果.

Proposition 1.1.3. 假設 a, b, c ∈ Z. 我們有以下之結果.

(1) bZ ⊆ aZ 若且唯若 a|b.

(2) 若 a|b 且 b|a 則 a = ±b.

(3) 若 a|b 且 b|c 則 a|c.

Proof. (1) 若 bZ ⊆ aZ, 由於 b ∈ bZ, 我們得 b ∈ aZ. 故知 a|b. 反之, 若 a|b, 我們要證明bZ ⊆ aZ. 一般來說要證明一個集合 B 包含於另一個集合 A, 我們要證明的是 B 中任取一

個元素都會在 A 中. 因此此處我們要證的是任取 bZ 中的一個元素 mb, 其中 m ∈ Z 都可以

31.1. 因數與倍數

得到 mb ∈ aZ. 然而由 a|b 的假設我們知 b ∈ aZ. 接著我們就可利用 Proposition 1.1.1(2)知對任意 m ∈ Z 皆有 mb ∈ aZ. 也就是說 bZ 的元素都在 aZ 中. 故得證 bZ ⊆ aZ.

(2) 若 a|b 且 b|a, 由 (1) 知 bZ ⊆ aZ 且 aZ ⊆ bZ. 因此由集合性質知 aZ = bZ. 也就是

說 aZ 和 bZ 是相同的集合. 由此, 很容易看出當 a = 0 時 b = 0. 反之亦然. 因此我們只剩

考慮 a �= 0 且 b �= 0 的情況. 此時 aZ 中最小的正數 a (當 a > 0) 或 −a (當 a < 0) 會等於

bZ 中最小的正數 b 或 −b. 故得證 a = ±b.

(3) 若 a|b 且 b|c, 則由 (1) 知 bZ ⊆ aZ 且 cZ ⊆ bZ. 因此由集合性質知 cZ ⊆ aZ. 故再

由 (1) 的等價關係知 a|c. �

Remark 1.1.4. 對於整數有一個很重要的性質 “well-ordering principle”. 這一個 principle就是說給定一個非空的整數的子集合 S, 如果 S 有下界( 若有一數小於 S 中所有的數, 則

稱 S 有下界), 則 S 中必含有一個最小的整數 (通常用 minS 來表示). 同理若整數的非空

子集合 S 有上界 (若有一數大於 S 中所有的數, 則稱 S 有上界), 則此集合中必含有一個

最大的整數 (通常用 max S 來表示). 例如剛才 Proposition 1.1.3(2) 的證明中我們考慮 aZ中最小的正整數, 當 a > 0 時 a 就是 aZ 中最小的正整數. 這裡因為我們確實知道 aZ 這個集合長什麼樣, 所以並不需這個性質直接可知 a 就是最小的. 以後我們常會碰到一些抽

象的正整數子集合, 那時就得經常用到整數的這個性質來確知此集合存在一個最小的正數.另外要注意此性質在其他的情況如有理數就不對了. 事實上正有理數是有下界的(0 小於所

有的正有理數), 但並沒有所謂最小的正有理數.

再次強調一下前面我們用集合較抽象的方法證明整除的性質主要是要大家習慣集合的

語言以及學習一些抽象的論證方法. 它並不是什麼特別的好方法. 比方說大家熟知的 a|b則 ma|mb 就很難用類似上面集合的方法來處理. 總之, 要處裡一個問題並沒有說一定要用

什麼方法. 你只要使用一個你認為可行且正確的方法處理. 所以學習數學絕不要僅是背誦

定理的證明. 如何將繁瑣的證明整理成你自己習慣且能理解的語言才是重點. 接下來我們

就回歸定義來證明前述之性質.

Lemma 1.1.5. 假設 a, b ∈ Z 且 a|b, 我們有以下之性質.

(1) 若 m ∈ Z, 則 ma|mb.

(2) 若 d|a 且 d|b, 則 (a/d)|(b/d).

Proof. 由假設 a|b 知存在 n ∈ Z 使得 b = na.

(1) 將等式兩邊同乘以 m 可得 mb = mna = n(ma) 故知 ma|mb.

(2) d|a 且 d|b 即表示存在 a�, b� ∈ Z 使得 a = a�d 且 b = b�d. 故由 b = na 得 b�d = na�d.因為 d =� 0, 兩邊同除以 d 可得 b� = na�, 即 a�|b�. 因為 a/d = a� 且 b/d = b� 故得證

(a/d)|(b/d). �

Lemma 1.1.5 是一個簡單的性質. 它本身並不算什麼重大的性質, 但是以後討論許多性

質時都要用到它, 我們便用 Lemma 稱呼之以方便引用.

4 1. 整數的基本性質

在 Lemma 1.1.5(2) 中 d|a 且 d|b 的假設就是說 d 同時是 a 和 b 的因數, 我們簡稱之為

a, b 的公因數. 討論一些整數之間的關係時公因數和最大公因數以及公倍數和最小公倍數

是很重要的工具. 接下來我們是給它們下一個定義.

Definition 1.1.6. 令 a1, a2, . . . , an ∈ Z.

(1) 若 c ∈ Z,且 c|a1, c|a2, . . . , c|an,則稱 c為 a1, a2, . . . , an的公因數 (common divisor).

(2) 若 d ∈ N 是 a1, a2, . . . , an 的公因數中最大的, 則稱 d 為 a1, a2, . . . , an 的最大公因

數 greatest common divisor, 通常我們會用 gcd(a1, a2, . . . , an) 來表示之.

(3) 若 m ∈ Z, 且 a1|m, a2|m, . . . , an|m, 則稱 m 為 a1, a2, . . . , an 的公倍數 (common

multiple).

(4) 若 l ∈ N 是 a1, a2, . . . , an 的正的公倍數中最小的, 則稱 l 為 a1, a2, . . . , an 的最小

公倍數 least common divisor, 通常我們會用 lcm(a1, a2, . . . , an) 來表示之.

通常當有一個符號或名詞需要介紹時, 為了方便找到我們會特別用 Definition 來標示之.

當要下一個定義時要注意是否合理. 不要給的定義的東西根本不存在或沒有用. Definition

1.1.6 中就要注意最大公因數及最小公倍數是否存在: 因為 1 整除所有的整數, 所以若

a1, a2, . . . , an ∈ Z 則其公因數必存在. 又因為 a1, a2, . . . , an 有有限多個公因數, 所以我們

知 a1, a2, . . . , an 的最大公因數必存在. 不過 a1, a2, . . . , an 的最大公因數有可能是 1. 若如

此 (即 gcd(a1, a2, . . . , an) = 1), 則稱 a1, a2, . . . , an 互質 (relatively prime). 另一方面因為

a1a2 · · · an 是 a1, a2, . . . , an 的公倍數, 所以適當的乘上正負號可知 a1, a2, . . . , an 正的公倍

數必存在, 因此由 well-ordering principle 知 a1, a2, . . . , an 的最小公倍數必存在.

下一節我們將會談論最大公因數及最小公倍數的一些基本性質.

1.2. 除法原理

整數中最基本的定理應該就是整數的除法原理 Division Algorithm, 幾乎所有整數的基本性

質都是由它推導出來.

Theorem 1.2.1 (Division Algorithm). 給定一正整數 n, 對任意的 m ∈ Z, 皆存在 h, r ∈ Z,其中 0 ≤ r < n, 滿足 m = h · n + r.

這是一個很重要的性質, 重要到我們以 Theorem 來稱呼它. 這個定理我們習慣稱為除

法原理, 如此稱它當然就包含“除”這個概念. 不過因為我們現在僅談加(減)法和乘法的性

質, 我們避免用除的概念.

Proof. 給定 n ∈ N 且 m ∈ Z. 首先考慮 W = {m− t · n | t ∈ Z} 這一個集合. 也就是收集

m, m− n, m− 2n, . . . 以及 m + n, m + 2n, . . . 等元素所得集合. 因為 t 可取任何整數, 很

容易就看出 W 一定包含一些非負的整數. 換言之, 若考慮 W � 為 W 中非負的元素所成的

集合, 則 W � 是一個非空的整數的子集合. 故由整數的 well-ordering principle 知 W � 中存

51.2. 除法原理

在最小的整數 r. 即 r 是 W 中最小的非負的整數. 因為 r ∈ W , 由定義知存在 h ∈ Z 滿足r = m− h · n. 我們最主要的目的就是要證明 0 ≤ r < n.

假設 r 不合我們的條件, 也就是說 r ≥ n (別忘了 r 是非負整數的假設). 若如此, 我們

可將 r 寫成 r = n + r�, 其中 r� ≥ 0. 因此利用

m = h · n + r = h · n + (n + r�) = (h + 1) · n + r ,

我們得到 r� = m− (h + 1) · n ∈ W . 但 0 ≤ r� < r, 這和 r 是 W 中最小的非負整數相矛盾.故得證本定理. �

要注意 Theorem 1.2.1 的證明我們用到整數上可以排序的 well-ordering principle, 因此

雖然證明很簡單, 但並不能直接套用到其他的數系.

接下來我們就要利用除法原理來探討公因數及最大公因數的基本性質. 由於 a 和 −a

的因數是一樣的, 所以不失一般性, 在討論因數時我們僅討論正整數的情形. 我們就從兩個

正整數的情形開始討論.

Proposition 1.2.2. 假設 a, b ∈ N 且 d 是 a 和 b 的公因數. 若 d� 是 a/d 和 b/d 的公因

數, 則 dd� 是 a 和 b 的公因數.

Proof. 首先注意, 由於 d 是 a, b 的公因數, 故存在 m,n ∈ Z 使得 a = dm 且 b = dn. 也

就是說 a/d = m 和 b/d = n 皆為整數. 又 d� 是 m,n 的公因數故存在 m�, n� ∈ Z 使得m = d�m� 且 n = d�n�. 整理得 a = dd�m� 且 b = dd�n� 故知 dd� 是 a 和 b 的公因數. �

若 Proposition 1.2.2 中我們取 d = gcd(a, b), 則利用最大公因數的定義我們可得以下之

性質.

Corollary 1.2.3. 假設 a, b ∈ N 且 d = gcd(a, b). 則 a/d 和 b/d 互質.

Proof. 要證明 a/d 和 b/d 互質就是證 gcd(a/d, b/d) = 1. 然而要說明 gcd(a/d, b/d) = 1就得說明若 d� 是 a/d 和 b/d 的一個正的公因數, 則 d� = 1. 事實上若 d� 是 a/d 和 b/d 的

一個的公因數, 則由 Proposition 1.2.2 知 dd� 是 a, b 的公因數. 然而已知 d 是 a, b 公因數

中最大的, 故知 d ≥ dd�. 也就是說 d� ≤ 1. 因此結合當初假設 d� 是 a, b 的一個正的公因數

(即 d� ≥ 1) 得證 d� = 1. �

一般要證明 d = gcd(a, b) 我們要證明兩件事. 首先要證明 d 是 a, b 的公因數, 再來就是

證明 d 是 a 和 b 的公因數中最大的. 前面 Corollary 1.2.3 中我們要證明 gcd(a/d, b/d) = 1.由於 1 必為 a/d, b/d 的公因數, 所以只要證明任意 a/d 和 b/d 的公因數皆小於等於 1 就

可. 接著我們來看另一個最大公因數的性質順便在證明中學習證明最大公因數的方法.

Proposition 1.2.4. 假設 a, b ∈ N, 令 d 為集合 S = {ma + nb | m, n ∈ Z} 中最小的正整數. 則 gcd(a, b) = d.

Proof. 首先注意由於這裡m, n是任意的整數,所以我們知道集合 S = {ma+nb | m,n ∈ Z}中必存在正整數. 所以 S 中的正整數必形成一個非空的子集合, 因此我們套用 well-ordering

6 1. 整數的基本性質

principle 知 S 中必有最小的正整數. 也就是說敘述中的 d 一定存在. 接著我們要按照前面

提的兩個步驟證明 d 為 a, b 的最大公因數.

首先檢查 d|a且 d|b. 依定義存在 m,n ∈ Z使得 d = ma+nb. 要檢查是否 d|a直覺的方法就是將 a 除以 d 看看是否餘數為 0. 利用除法原理我們知存在 h, r ∈ Z 使得 a = dh + r,其中 0 ≤ r < d. 因此有

r = a− dh = a− (ma + nb)h = (1−mh)a− (nh)b.

由於 1−mh 和 −nh 皆為整數依定義知 r ∈ S. 今若 �r = 0 會導致 r 是 S 中小於 d 的一

個正整數. 這和當初假設 d 是 S 中最小的正整數相矛盾, 故知 r = 0. 也就是說 d|a. 同理

可證 d|b.

接著我們要證明 d 是 a, b 的公因數中最大的數. 也就是要證明若 d� 是 a, b 的公因數,則 d� ≤ d. 今由於 d�|a 且 d�|b 由 Corollary 1.1.2 知 d�|ma + nb. 即 d�|d, 也就是說存在

l ∈ Z 使得 d = d�l. 因此由已知 d > 0 當然得 d� ≤ d. �

在上面證明 d 除以 a 的餘數為 0 的過程中. 我們無法直接證明餘數為 0, 不過發現若

餘數不為 0 的話會導致矛盾的結果, 因而確知其餘數非為 0 不可. 這樣證明的方法就是所

謂的 “反證法”. 這樣的證明方法我們以後還會經常看到.

或許大家會奇怪, 一般來說找 a, b 的最大公因數只要在 a, b 有限多個公因數中找最大

的就好了為什麼要自討苦吃在 {ma + nb | m,n ∈ Z} 這個有無窮多個元素的集合中找? 沒

有錯如果 a, b 很具體的知道是什麼當然直接找, 然而當我們要討論一般的情形 a, b 是任

何可能的整數不能用幾個具體例子代一代就了事. 所以雖然 Proposition 1.2.4 在實際操

作時並不實用但要用到理論的推演時他卻是很好用來表達最大公因數的工具. 直接利用

Proposition 1.2.4 我們馬上有以下之性質.

Corollary 1.2.5. 假設 a, b ∈ N 且 d = gcd(a, b) 則存在 m,n ∈ Z 使得 d = ma + nb. 而

且對任意 d� ∈ Z, d� 是 a, b 的公因數若且唯若 d�|d.

Proof. 由 Proposition 1.2.4 我們知 d 在集合 S = {ma + nb | m,n ∈ Z} 中, 故依定義存在

m,n ∈ Z 使得 d = ma + nb.

注意這裡“若且唯若”的意思就是說如果 d� 是 a, b 的公因數那麼 d 必整除 a, b 的最大

公因數 d, 反之若 d� 整除 a, b 的最大公因數, 那麼 d� 一定是 a, b 的公因數. 由 Proposition

1.2.4 的證明我們知若 d� 是 a, b 的公因數則 d�|d. 反之若 d�|d, 則由於 d|a 且 d|b, 利用Proposition 1.1.3(3) 知 d�|a 且 d�|b. 即 d� 為 a, b 的公因數. �

一般來說有的性質可以從甲可推得乙, 但這並不表示從乙可推得甲. 如果兩個性質可以

互推, 我們就用“若且唯若”表示之. 特別要注意 Corollary 1.2.5 並不是說若有一個正整數 d

可找到 m,n ∈ Z 使得 d = ma+nb, 則 d 就是 a, b 的公因數. 這是一開始大家在學習邏輯推

論時常犯的錯誤. 其實 d 可以寫成 ma + nb 僅表示 d 會在集合 S = {ma + nb | m,n ∈ Z}中, 並不表示 d 會是 S 中最小的正整數. 所以當然 d 就未必是 a, b 的最大公因數. 因此當

你要證明 d 是 a, b 的最大公因數時, 還是得按部就班如前面所提的兩步驟進行, 千萬不要

71.2. 除法原理

找到兩個整數 m,n 使得 d = ma + nb 就說 d 就是 a, b 的最大公因數. 當然了如果你要證

明 a, b 互質 (即 gcd(a, b) = 1) 時可以利用找到 m,n 使得 ma + nb = 1 來處理. 這是因為

此時 1 在 S 中, 故當然是 S 中最小的正整數了. 因此我們將此特殊情況列出.

Corollary 1.2.6. 假設 a, b ∈ N. 則 gcd(a, b) = 1若且唯若存在m,n ∈ Z使得ma+nb = 1.

Proof. 再強調一次, 要證明若且唯若必需兩個方向都證明.

若 gcd(a, b) = 1, 由 Corollary 1.2.5 知存在 m,n ∈ Z 使得 1 = ma + nb. 反之, 若存在

m, n ∈ Z 使得 ma + nb = 1, 則 1 必為集合 {ma + nb | m,n ∈ Z} 中最小的正整數, 故由

Proposition 1.2.4 知 gcd(a, b) = 1. �

以上的性質並沒有告訴我們怎麼找到 m,n 使得 ma + nb = gcd(a, b), 我們將會在下節

介紹完輾轉相除法後給一個方法來求 m,n. 雖然目前我們不知如何求得 m,n, 不過從下一

個探討 a, b 互質時的重要的性質我們可以看到僅僅知道它們的存在性在理論的推演就很管

用了.

Proposition 1.2.7. 假設 a, b ∈ N 且 gcd(a, b) = 1. 我們有以下的性質:

(1) 若 k ∈ Z 且 a|bk, 則 a|k.

(2) 若 l ∈ Z 且 a|l 及 b|l, 則 ab|l.

Proof. 因為 gcd(a, b) = 1, 由 Corollary 1.2.6 我們知存在 m,n ∈ Z 使得 ma + nb = 1.

(1) 將 ma + nb = 1 等式兩邊乘上 k 可得 mak + nbk = k. 然而假設 a|bk 故利用 a|ak

以及 Corollary 1.1.2 知 a|k.

(2) 由 a|l 以及 b|l 知存在 r, s ∈ Z 使得 l = ar = bs. 因為 a|ar 故得 a|bs. 再由gcd(a, b) = 1 的假設利用 (1) 可得 a|s. 換言之存在 t ∈ Z 使得 s = at. 將之帶回 l = bs 得

l = bat, 得證 ab|l. �

要注意 Proposition 1.2.7 的條件. 一般來說若沒有 a, b 互質的假設 a|bc 並不能保證 a|b或 a|c. 就拿 12|6× 4 來說吧, 很明顯的 12 � 6 (這裡 � 表示不整除的意思) 而且 12 � 4. 同

樣的若 a, b 不互質 a|c 且 b|c 也不能保證 ab|c. 例如 4|12 且 6|12 但是 4× 6 � 12.

接下來我們來看看 a, b 的最小公倍數. 若 l 是 a, b 的最小公倍數, 則由於 gcd(a, b)|l, 我們自然知存在 m,n ∈ Z 使得 l = ma + nb. 不過這個表示法對 l 就沒有什麼幫助了. 主要

原因是 l 在 {ma + nb | m,n ∈ Z} 這個集合中不像 gcd(a, b) 有如 Proposition 1.2.4 所述一

樣特殊的地位. 不過沒關係, 下一個定理告訴我們一般來說只要了解 a, b 的最大公因數就

能掌握 a, b 的最小公倍數.

讓我們先來看看要怎樣知道 l 是 a, b 的最小公倍數. 就如同最大公因數的情形一樣我

們要證明兩件事. 首先證明 l 是 a, b 的正的公倍數, 再來就是證明 l 是 a 和 b 的正的公因

數中最小的. 如此一來就能擔保 l 是 a, b 的最小公倍數.

Proposition 1.2.8. 假設 a, b ∈ N 且 gcd(a, b) = d 及 lcm(a, b) = l, 則 l = ab/d. 而且

m ∈ Z 是 a, b 的公倍數若且唯若 l|m.

8 1. 整數的基本性質

Proof. 由假設 d = gcd(a, b) 知存在 a�, b� ∈ N 使得 a = a�d, b = b�d 且 gcd(a�, b�) = 1

(Proposition 1.2.3). 現在我們依上述兩個步驟證明 ab/d = a�b = b�a 是 a, b 的最小公倍數.

首先由 ab/d = b�a 知 a|(ab/d) 同理知 b|(ab/d), 也就是說 ab/d 為 a 和 b 的公倍數. 又

因為 a, b, d 皆為正數, 所以 ab/d 為 a, b 之正的公倍數.

接著證明若 m 為 a, b 之正的公倍數, 則 (ab/d) ≤ m. 由假設知存在 m�, n� ∈ N 使得m = m�a = n�b. 換言之 m = m�a�d = n�b�d, 故消掉 d (因 d �= 0) 得 m�a� = n�b�. 也就是說

a�|n�b�. 但由於 gcd(a�, b�) = 1, 故由 Proposition 1.2.7(1) 知 a�|n�. 也就是說存在 h ∈ N 使得 n� = a�h. 代回 m = n�b 得 m = ha�b, 故得知 a�b = (ab/d)|m. 由於 ab/d 及 m 皆為正

數, 得證 (ab/d) ≤ m. 也就是說 ab/d = lcm(a, b) = l.

既然 ab/d = l 由上面的證明我們知若 m 為 a, b 的公倍數, 則 l = (ab/d)|m. 反之, 若

l|m, 則由 a|l 且 b|l, 得知 a|m 且 b|m, 故 m 為 a, b 之公倍數. �

要注意雖然 Proposition 1.2.8 中假設 a, b ∈ N, 但其目的僅是利用其為正數方便描述最

小公倍數. 若 a, b ∈ Z 不一定為正時, 我們只要適當的加上負號仍可利用 Proposition 1.2.8的式子寫下最小公倍數. 另外和 Corollary 1.2.5 中所述公因數為最大公因數之因數相輝映

Proposition 1.2.8 告訴我們公倍數為最小公倍數之倍數.

接下來讓我們來看看有關多個 (多於兩個) 整數的最大公因數性質. 我們試著著推廣前

面的方法, 看看前面的結果對多個整數是否適用.

Proposition 1.2.9. 假設 a1, . . . , an ∈ N, 令 d 為集合 S = {m1a1 + · · · + mnan |m1, . . . ,mn ∈ Z} 中最小的正整數. 則 gcd(a1, . . . , an) = d.

Proof. 和前面的情形相同, 利用 well-ordering principle 知 S 中必有最小的正整數. 也就是

說敘述中的 d 一定存在. 接著我們要按照前面證明最大公因數的步驟證明 d 為 a1, . . . , an

的最大公因數.

首先檢查對所有 i ∈ {1, . . . , n}, 皆有 d|ai. 依定義, 存在 m1, . . . ,mn ∈ Z 使得 d =

m1a1 + · · · + mnan. 利用除法原理我們知對任意 i ∈ {1, . . . , n} 皆存在 hi, ri ∈ Z 使得ai = dhi + ri, 其中 0 ≤ ri < d. 因此有

ri = ai−dhi = ai−(m1ai+ · · ·+mnan)hi = −(m1hi)a1+ · · ·+(1−mihi)ai+ · · ·−(mnhi)an.

故得知 ri ∈ S. 今若 � 是 S 中小於 d 的一個正整數. 這和當初假設 d 是 Sri = 0 會導致 ri

中最小的正整數相矛盾, 故知 ri = 0. 也就是說對任意 i = {1, . . . , n}, 皆有 d|ai.

接著我們要證明 d 是 a1, . . . , an 的公因數中最大的數. 也就是要證明若 d� 是 a1, . . . , an

的公因數, 則 d� ≤ d. 今由於對任意 i ∈ {1, . . . , n}, 皆有 d�|ai 故知 d�|m1a1 + · · ·+ mnan.即 d�|d, 因此由已知 d > 0 當然得 d� ≤ d. �

有了 Proposition 1.2.9 我們當然可以和前面的方法一樣得到以下之結果, 證明就不再

贅述.

� �

� �

91.2. 除法原理

Corollary 1.2.10. 假設 a1, . . . , an ∈ N 且 d = gcd(a1, . . . , an) 則存在 m1, . . . ,mn ∈ Z 使得 d = m1a1 + · · ·+ mnan. 而且對任意 d� ∈ Z, d� 是 a1, . . . , an 的公因數若且唯若 d�|d.

要注意並不是所有有關兩個整數的最大公因數的性質都可以推廣到多個整數的情形.例如 Proposition 1.2.7(2) 告訴我們若 gcd(a, b) = 1 且 a|l 及 b|l, 則 ab|l. 此性質在兩個以上整數的情形就不一定對. 主要原因就是依多個整數互質的定義 a1, a2, . . . , an 互質

是表示這些數沒有共同的因數但不表示任取其中兩個數都互質. 其實有可能任意 ai, aj

都不互質但是 a1, . . . , an 仍互質. 例如 a1 = 6, a2 = 15 以及 a3 = 10 的情形. 我們有

gcd(a1, a2) = 3, gcd(a2, a3) = 5 以及 gcd(a1, a3) = 2 但是 gcd(a1, a2, a3) = 1. 所以有些情

形僅假設 a1, . . . , an 互質是不夠的, 我們須用到任取兩個都互質 (即對任意 i, j ∈ {1, . . . , n}且 i � 這種較強的互質性我們稱之為= j, 皆有 gcd(ai, aj) = 1) 這一個較強的互質性才行.

“兩兩互質” (pairwise relatively prime). 當然了若 a1, . . . , an 兩兩互質, 則 a1, . . . , an 必互

質. 大家一定要清楚這兩種互質性之不同. Proposition 1.2.7(2), 在多個整數的情形之下若

改為兩兩互質就會成立. 由於這裡牽涉到任意多個整數, 所以得用到數學歸納法來證明. 數

學歸納法的原理我們假設大家在高中時已了解, 此處不再贅述.

Proposition 1.2.11. 假設 a1, . . . , an ∈ N 且這些 ai 兩兩互質. 若令 M = a1 · · · an, 則我

們有以下之性質.

(1) 對任意 i ∈ {1, . . . , n} 皆有 gcd(ai,M/ai) = 1.

(2) 若對所有 i ∈ {1, . . . , n} 皆有 ai|l, 則 M |l.

Proof. 由於僅在多於一個整數時才談最大公因數, 所以我們數學歸納法從 n = 2 開始.

(1) 此處由於和 a1, . . . , an 的排序無關, 我們僅處理 i = 1 的情形. 首先看 n = 2 的情

形. 此時 M = a1a2 故由假設 gcd(a1, a2) = 1 知 gcd(a1,M/a1) = 1. 再來由數學歸納法假

設 n = k − 1 時成立, 即 gcd(a1, a2 · · · ak−1) = 1, 知存在 m�, n� ∈ Z 使得

m a1 + n�(a2 · · · ak−1) = 1. (1.1)

現考慮 n = k 之情形, 此時 M = a1a2 · · · ak. 將式子 (1.1) 兩邊乘以 ak 得

m a1ak + n�(a2 · · · ak−1ak) = m aka1 + n�(M/a1) = ak. (1.2)

又由兩兩互質的假設知 gcd(a1, ak) = 1, 即存在 r, s ∈ Z 使得 ra1 + sak = 1. 以式子 (1.2)之 ak 代入上式得

1 = ra1 + s(m aka1 + n�(M/a1)) = (r + sm ak)a1 + sn�(M/a1).

因為 r + sm�ak ∈ Z 且 sn� ∈ Z 故由 Corollary 1.2.6 知 gcd(a1,M/a1) = 1.

(2) 首先考慮 n = 2 的情形, 此時 M = a1a2 且 gcd(a1, a2) = 1 故 Proposition 1.2.7(2)告訴我們若 a1|l 且 a2|l, 則 M |l. 再來由數學歸納法假設 n = k − 1 時成立, 即若令

M � = a1 · · · ak−1, 則 M �|l. 現考慮 n = k 之情形, 此時 M = a1 · · · ak−1ak = M �ak. 由 (1)知 gcd(ak,M

�) = gcd(ak,M/ak) = 1, 故由假設 ak|l 且 M �|l 以及 Proposition 1.2.7(2) 知

M �ak = M |l. �

10 1. 整數的基本性質

接下來我們來看, 若我們會求兩個整數的最大公因數 (參見下一節之輾轉相除法) 那麼

我們就可以兩個兩個地求得多個整數的最大公因數. 也就是說可以先求 d1 = gcd(a1, a2)求得 d2 = gcd(a1, a2, a3) = gcd(d1, a3), 這樣一直下去以求得 gcd(a1, a2, · · · , an). 我們的證

明方法還是利用前述證明最大公因數方法進行.

Proposition 1.2.12. 若 a1, . . . , an ∈ N (n > 2), 則

gcd(a1, . . . , an−1, an) = gcd(gcd(a1, . . . , an−1), an).

Proof. 令 d = gcd(gcd(a1, . . . , an−1), an) 首先我們要證明 d 是 a1, . . . , an 的公因數. 由於

d| gcd(a1, . . . , an−1) 由 Corollary 1.2.10 知 d 是 a1, . . . , an−1 的公因數. 再加上 d|an, 故知

d 是 a1, . . . , an−1, an 的公因數.

現假設 d� 是 a1, . . . , an−1, an 的公因數. 當然 d� 是 a1, . . . , an−1 的公因數,故由 Corollary

1.2.10 知 d�| gcd(a1, . . . , an−1). 再加上 d�|an, 故知 d� 是 gcd(a1, . . . , an−1) 和 an 的公因數,故再由 Corollary 1.2.5 知 d�| gcd(gcd(a1, . . . , an−1), an) = d. 得證 d 是 a1, . . . , an 的公因數

中最大的數, 故為 a1, . . . , an 的最大公因數. �

最後我們看看多個整數的最小公倍數的性質. 首先要注意的是 Proposition 1.2.8 中

lcm(a, b) = ab/ gcd(a, b) 這個性質在多個整數時並不一定對. 例如前面所提 a1 = 6, a2 = 15以及 a3 = 10 的例子, 我們有 a1a2a3 = 900, gcd(a1, a2, a3) = 1 但是 lcm(a1, a2, a3) = 30.雖然如此, 我們仍有公倍數為最小公倍數之倍數的性質, 而且求多個整數之最小公倍數也可

如最大公因數一樣兩個兩個進行. 底下我們將利用數學歸納法同時證明這兩個性質. 這種重

要的證明技巧大家或許沒有見過, 不過其原理如同一般的數學歸納法原理, 大家應能理解.

Proposition 1.2.13. 若 a1, . . . , an ∈ N (n > 2), 則

lcm(a1, . . . , an−1, an) = lcm(lcm(a1, . . . , an−1), an).

而且 m ∈ Z 是 a1, . . . , an 的公倍數若且唯若 lcm(a1, . . . , an)|m.

Proof. 應用數學歸納法, 當 n = 3 時令 l = lcm(lcm(a1, a2), a3). 因為 l 為 lcm(a1, a2) 和

a3 之公倍數, 知 l 為 lcm(a1, a2) 之倍數, 故由 Proposition 1.2.8 得知 l 為 a1, a2 的公倍數.故 l 為 a1, a2, a3 之公倍數. 現假設 m 為 a1, a2, a3 之公倍數. 當然 m 是 a1, a2 之公倍

數, 故由 Proposition 1.2.8 知 lcm(a1, a2)|m. 又因 m 為 a3 之倍數, 故知 m 為 lcm(a1, a2)和 a3 之公倍數. 因此再由 Proposition 1.2.8 知 l = lcm(lcm(a1, a2), a3)|m. 我們證得了 l

是 a1, a2, a3 的正公因數中最小的數, 故得 l = lcm(a1, a2, a3). 我們也同時證得 l 整除所有

a1, a2, a3 的公倍數. 反之, 若 l|m, 則由 a1|l, a2|l 以及 a3|l 知 m 為 a1, a2, a3 的公倍數. 因

此 n = 3 的情形證明完成.

現依數學歸納法假設 n = k − 1 時成立: 即

lcm(a1, . . . , ak−1) = lcm(lcm(a1, . . . , ak−2), ak−1)

且 m ∈ Z 是 a1, . . . , ak−1 的公倍數若且唯若 lcm(a1, . . . , ak−1)|m. 現考慮 k = n 之情形.令 l� = lcm(a1, . . . , ak−1) 且 l = lcm(l�, ak) 我們要證明 l 是 a1, . . . , ak 的最小公倍數.

111.3. 輾轉相除法

由於 l = lcm(l�, ak) 是 l� = lcm(a1, . . . , ak−1) 的倍數, 故由數學歸納法假設 (n = k − 1之情況) 知 l 為 a1, . . . , ak−1 的公倍數. 再加上 l 也是 ak 的倍數, 故得知 l 是 a1, . . . , ak 的

公倍數. 另一方面若 m 是 a1, . . . , ak−1, ak 的公倍數, 當然 m 是 a1, . . . , ak−1 的公倍數. 故

由數學歸納法假設知 l� = lcm(a1, . . . , ak−1)|m. 再加上 ak|m, 知 m 為 l� 和 ak 之公倍數.故由 Proposition 1.2.8 知 l = lcm(l�, ak)|m. 因而得知 l 確為 a1, . . . , ak 的正公倍數中最小

者, 也就是說 l = lcm(a1, . . . , ak). 我們也同時證得若 m 為 a1, . . . , ak 的公倍數, 則 l|m. 反

之若 l|m, 則由對所有 i ∈ {1, . . . , k} 皆有 ai|l, 得證 ai|m. 也就是說 m 為 a1, . . . , ak 的公

倍數. �

1.3. 輾轉相除法

輾轉相除法是求最大公因數很有效率的方法. 首先我們介紹輾轉相除法的原理.

Lemma 1.3.1. 若 a, b ∈ N 且 a = bh + r, 其中 h, r ∈ Z, 則 gcd(a, b) = gcd(b, r).

Proof. 假設 d1 = gcd(a, b) 且 d2 = gcd(b, r). 我們證明 d1|d2 且 d2|d1, 因而可利用

Proposition 1.1.3(2) 以及 d1, d2 皆為正數得證 d1 = d2.

因 d1|a且 d1|b利用Corollary 1.1.2我們知 d1|a−bh = r. 因為 d1|b, d1|r且 d2 = gcd(b, r)故由 Proposition 1.2.5 知 d1|d2. 另一方面, 因為 d2|b 且 d2|r 故 d2|bh + r = a. 因此可得

d2|d1. �

Lemma 1.3.1 告訴我們當 a > b > 0 時, 要求 a, b 的最大公因數我們可以先將 a 除以 b

所得餘數若為 r, 則 a, b 的最大公因數等於 b 和 r 的最大公因數. 因為 0 ≤ r < b < a, 所

以當然把計算簡化了. 接著我們就來看看輾轉相除法. 由於 gcd(a, b) = gcd(−a, b) 所以我

們只要考慮 a, b 都是正整數的情況.

Theorem 1.3.2 (The Euclidean Algorithm). 假設 a, b ∈ N 且 a > b. 由除法原理我們知

存在 h0, r0 ∈ Z 使得

a = bh0 + r0, 其中 0 ≤ r0 < b.

若 r0 > 0, 則存在 h1, r1 ∈ Z 使得

b = r0h1 + r1, 其中 0 ≤ r1 < r0.

若 r1 > 0, 則存在 h2, r2 ∈ Z 使得

r0 = r1h2 + r2, 其中 0 ≤ r2 < r1.

如此繼續下去直到 rn = 0 為止. 若 n = 0 (即 r0 = 0), 則 gcd(a, b) = b. 若 n ≥ 1, 則

gcd(a, b) = rn−1.

Proof. 首先注意若 r0 � 和 0 之間最多= 0, 由於 r0 > r1 > r2 > . . . 是嚴格遞減的, 因為 r0

僅能插入 r0 − 1 個正整數, 所以我們知道一定會有 n ≤ r0 使得 rn = 0.

12 1. 整數的基本性質

若 r0 = 0, 即 a = bh0, 故知 b 為 a 之因數, 得證 b 為 a, b 的最大公因數. 若 r0 > 0, 則

由 Lemma 1.3.1 知

gcd(a, b) = gcd(b, r0) = gcd(r0, r1) = · · · = gcd(rn−1, rn) = gcd(rn−1, 0) = rn−1.

現在我們來看用輾轉相除法求最大公因數的例子.

Example 1.3.3. 我們求 a = 481 和 b = 221 的最大公因數. 首先由除法原理得 481 =

2 · 221 + 39, 知 r0 = 39. 因此再考慮 b = 221 除以 r0 = 39 得 221 = 5 · 39 + 26, 知 r1 = 26.再以 r0 = 39 除以 r1 = 26 得 39 = 1 · 26 + 13, 知 r2 = 13. 最後因為 r2 = 13 整除 r1 = 26知 r3 = 0, 故由 Theorem 1.3.2 知 gcd(481, 221) = r2 = 13.

在利用輾轉相除法求最大公因數時, 大家不必真的求到 rn = 0. 例如在上例中可看出

r0 = 39 和 r1 = 26 的最大公因數是 13, 利用 Lemma 1.3.1 馬上得知 gcd(a, b) = 13.

在上一節 Corollary 1.2.5 告訴我們若 gcd(a, b) = d, 則存在 m,n ∈ Z 使得 d = ma+nb.當時我們沒有提到如何找到此 m,n. 現在我們利用輾轉相除法來介紹一個找到 m,n 的

方法. 我們沿用 Theorem 1.3.2 的符號. 首先看 r0 = 0 的情形, 此時 d = gcd(a, b) = b

所以若令 m = 0, n = 1, 則我們有 d = b = ma + nb. 當 r0 �= 0 但 r1 = 0 時, 我們知

d = gcd(a, b) = r0. 故利用 a = bh0 + r0 知, 若令 m = 1, n = −h0, 則 d = r0 = ma + nb.同理若 r0 � 0, r1 = 0 但 r2 = 0, 則知 d = = r1. 故利用 a bh0 + r0 以及= � gcd(a, b) =

b = r0h1 + r1 知

r1 = b− r0h1 = b− (a− bh0)h1 = −h1a + (1 + h0h1)b.

因此若令 m = −h1 且 n = 1+h0h1, 則 d = r1 = ma+nb. 依照此法, 當 r0, r1 和 r2 皆不為

0時,由於 d = gcd(a, b) = rn−1 故由 rn−3 = rn−2hn−1 + rn−1 知 d = rn−3−hn−1rn−2. 利用

前面推導方式我們知存在 m1,m2, n1, n2 ∈ Z 使得 rn−3 = m1a + n1b 且 rn−2 = m2a + n2b

故代入得

d = (m1a + n1b)− hn−1(m2a + n2b) = (m1 − hn−1m2)a + (n1 − hn−1n2)b.

因此若令 m = m1 − hn−1m2 且 n = n1 − hn−1n2, 則 d = ma + nb.

上面的說明看似好像當 r0 � 寫成 ri= 0時對每一個 i ∈ {0, 1, . . . , n−2}要先將 ri = mia+nib,最後才可將 d = rn−1 寫成 ma + nb 的形式. 其實這只是論證時的方便, 在實際操作時我們

其實是將每個 ri 寫成 m�iri−2 + n�

iri−1 的形式慢慢逆推回 d = ma + nb. 請看以下的例子.

Example 1.3.4. 我們試著利用 Example 1.3.3 所得結果找到 m,n ∈ Z 使得 13 =

gcd(481, 221) = 481m + 221n. 首先我們有 13 = r2 = 39 − 26 = r0 − r1. 而 r1 =

221− 5 · 39 = b− 5r0, 故得 13 = r0 − (b− 5r0) = 6r0 − b. 再由 r0 = 481− 2 · 221 = a− 2b,得知 13 = 6(a− 2b)− b = 6a− 13b. 故得 m = 6 且 n = −13 會滿足 13 = 481m + 221n.

要注意這裡找到的 m,n 並不會是唯一滿足 d = ma + nb 的一組解. 雖然上面的推演過

程好像會只有一組解, 不過只能說是用上面的方法會得到一組解, 並不能擔保可找到所有的

1.4. 質數 13

解. 比方說若令 m� = m+ b, n� = n− a, 則 m�a+n�b = (m+ b)a+(n− a)b = ma+nb = d.所以 m�, n� 也會是另一組解. 所以以後當要探討唯一性時, 若沒有充分的理由千萬不能說

由前面的推導過程看出是唯一的就斷言是唯一. 一般的作法是假設你有兩組解, 再利用這

兩組解所共同滿足的式子找到兩者之間的關係. 我們看看以下的作法.

Proposition 1.3.5. 假設 a, b ∈ N 且 d = gcd(a, b). 若 x = m0, y = n0 是 d = ax + by 的

一組整數解, 則對任意 t ∈ Z, x = m0 + bt/d, y = n0−at/d 皆為 d = ax+ by 的一組整數解,而且 d = ax + by 的所有整數解必為 x = m0 + bt/d, y = n0 − at/d 其中 t ∈ Z 這樣的形式.

Proof. 假設 x = m, y = n 是 d = ax + by 的一組解. 由於已假設 x = m0, y = n0 也是一

組解, 故得 am + bn = am0 + bn0. 也就是說 a(m−m0) = b(n0−n). 由於 d = gcd(a, b), 我

們可以假設 a = a�d, b = b�d 其中 a�, b� ∈ Z 且 gcd(a�, b�) = 1 (參見 Corollary 1.2.3). 因此

得 a�(m−m0) = b�(n0 − n). 利用 b�|a�(m−m0), gcd(a�, b�) = 1 以及 Proposition 1.2.7(1)得 b�|m −m0. 也就是說存在 t ∈ Z 使得 m −m0 = b�t. 故知 m = m0 + b�t = m0 + bt/d.將 m = m0 + bt/d 代回 am + bn = am0 + bn0 可得 n = n0 − at/d, 因此得證 d = ax + by

的整數解都是 x = m0 + bt/d, y = n0 − at/d 其中 t ∈ Z 這樣的形式. 最後我們僅要確認

對任意 t ∈ Z, x = m0 + bt/d, y = n0 − at/d 皆為 d = ax + by 的一組整數解. 然而將

x = m0 + bt/d, y = n0− at/d 代入 ax+ by 得 a(m0 + bt/d)+ b(n0− at/d) = am0 + bn0 = d,故得證本定理. �

利用 Proposition 1.3.5 我們就可利用 Example 1.3.4 找到 13 = 481x + 221y 的一組整

數解 x = 6, y = −13 得到 x = 6 + 17t, y = −13− 37t 其中 t ∈ Z 是 13 = 481x + 221y 所有

的整數解.

1.4. 質數

這一節我們要談整數的分解中最基本的元素: 質數. 大家都知道一個質數 p 就是正因數只

有 1 和本身的數. 我們仍給一個正式的定義.

Definition 1.4.1. 若 p ∈ Z, p > 1 且 p 的正公因數只有 p 和 1 則稱 p 是一個質數 (prime

number). 若一正整數有其他的正因數則稱為合成數 (composite number).

簡單來說質數就是無法分解成兩個較小的正整數乘積的數. 質數這一種不可分解的特性

讓它有很多特殊性質. 例如給定一質數 p 以及一整數 a ∈ Z, 我們很容易判定 gcd(a, p) 為

何. 若 d = gcd(a, p) 則因 d|p, 知 d = 1 或 d = p. 若 d = p 表示 p|a, 所以我們知由 p � a,可得 d = 1. 所以利用 Proposition 1.2.7(1) 我們有以下之結論.

Lemma 1.4.2 (Euclid). 假設 p 是一個質數, 且 a, b ∈ Z. 若 p|ab, 則 p|a 或 p|b.

Proof. 這裡我們要證明 p|a 或 p|b. 如果 p|a 當然就可以了 (不必擔心是否 p|b); 但若 p � a,那麼我們就得證明 p|b. 不過由前知 p � a 表示 gcd(p, a) = 1, 故利用 Proposition 1.2.7(1)得證 p|b. �

14 1. 整數的基本性質

Euclid 這一個 Lemma 告訴我們一個質數若是 ab 的因數那它一定是 a, b 其中之ㄧ的

因數. 事實上這個性質並不只適用在兩個整數相乘的情況, 我們很容易推廣至更多數相乘

之情況.

Corollary 1.4.3. 假設 p 是一個質數, 且 a1, a2, . . . , an ∈ Z. 若 p|a1a2 · · · an, 則存在

i ∈ {1, . . . , n} 滿足 p|ai.

Proof. 我們依然用數學歸納法證明. 當 k = 2 時由 Lemma 1.4.2 知若 p|a1a2, 則 p|a1 或

p|a2. 假設 k = n− 1 時成立, 即若有 n− 1 個整數 a1, . . . , an−1 滿足 p|a1 · · · an−1, 則存在

i ∈ {1, . . . , n−1}使得 p|ai. 現考慮 k = n的情形,若 a1, . . . , an 是 n個整數滿足 p|a1 · · · an,則令 a = a1 · · · an−1, b = an. 此時由 p|ab 及 Lemma 1.4.2 知 p|a 或 p|b. 若 p|a, 則由數學

歸納法假設知存在 i ∈ {1, . . . , n− 1} 使得 p|ai, 而若 p|b 即 p|an, 故得證本定理. �

若一質數 p 是一整數 a 的因數, 則我們稱 p 是 a 的一個質因數. 當然了質數 p 本身就

是 p 的質因數, 而一個合成數會不會有質因數呢? 大家很自然的覺得一定有, 我們還是給

一個正式的證明.

Lemma 1.4.4. 假設 a ∈ Z 且 a > 1. 則必存在一質數 p 使得 p|a.

Proof. 我們用數學歸納法. 首先若 a = 2, 則由於 2 是質數我們得 p = 2 為所求. 現假設

對任意 b ∈ Z 滿足 2 ≤ b ≤ n 的數皆存在質數 p 使得 p|b, 我們考慮 a = n + 1 的情形. 若

a 本身是質數那當然 p = a 為所求. 反之, 如果 a 不是質數依定義存在 b ∈ Z 且 2 ≤ b < a

使得 b|a. 故由數學歸納法假設知存在一質數 p 滿足 p|b. 因此利用 Proposition 1.1.3(2) 得

證 p|a. �

雖然正整數有無窮多個而 Lemma 1.4.4 告訴我們每一個大於 1 的正整數都有質因數,但這並不代表會有無窮多個質數. 接著我們就是要探討質數確有無窮多個. 一般來說要證

明質數有無窮多個或許會有的想法是希望利用現有的質數創造更大的質數. 不過這個想法

是不可行的, 主要的原因是到目前為止我們沒有一個判別一個數是否為質數好的方法. 另

類的思考是用反證法, 假設只有有限個質數而得到矛盾. 這個方法就不會碰到判別質數的

問題, 相信由此大家更能體會到反證法的妙用.

Theorem 1.4.5 (Euclid). 質數有無窮多個.

Proof. 我們用反證法假設只有有限個質數. 既然只有有限個我們可以將之ㄧ一列出, 就假

設 p1, . . . , pn 是所有的質數. 現考慮 a = p1 · · · pn + 1, 由 Lemma 1.4.4 知必有一質數 pi,

i ∈ {1, . . . , n} 滿足 pi|a. 然而 pi 本身整除 p1 · · · pn 故由 Corollary 1.1.2 知 pi|a− p1 · · · pn,也就是說 pi|1 而得到矛盾. 故知不可能僅有有限多個質數, 而得證有無窮多個質數. �

質數雖然有無窮多個不過他們的分布不是非常稠密的. 例如給定任意大的整數 n 我們

可以找到 n 個連續整數都不是質數. 我們的找法是考慮

(n + 1)! + 2, (n + 1)! + 3, . . . , (n + 1)! + n + 1

1.4. 質數 15

這 n 個連續整數. 很容意看出它們都不是質數. 就是質數這麼不容易出現加上很難判別一

個很大的數是否為質數, 所以質數常被應用在密碼學中. 底下我們介紹一種最簡單判斷質

數的方法.

√Proposition 1.4.6. 若 n > 1 是一整數且對任意小於等於 n 的質數 p 皆不能整除 n, 則

n 為一質數.

Proof. 因為我們無法直接證明 n 會是質數, 所以需用反證法. 假設 n√不是質數, 依定義

√知

存在 a, b ∈ Z 滿足 1 < a ≤ b < n 且 n = ab. 由此我們可以確定 a ≤ n, 否則若 a > n

會造成 ab > (√

n)2 = n 而與 n = ab 不合. 而由 Lemma 1.4.4 知存在質數 p 使得 p|a. 既

然 p|a 我們得 p ≤ a ≤√

n 且 p|n. 此與假設所有小於等於√

n 的質數皆不整除 n 不符, 故

知 n 為質數. �

Proposition 1.4.6 所提判別質數方法稱為篩法 (sieve method). 它可以幫助我們篩得哪√

些數是質數. 例如若要找出所有小於 100 的質數. 我們只要將小於 100 = 10 的質數 (即

2, 3, 5, 7) 找出, 留下 2, 3, 5, 7 然後將其餘 2, 3, 5, 7 的倍數刪除, 經過這樣篩選後留下來小於

100 的數就都是小於 100 的質數. 這是因為若 n < 100 且不是質數, 則由 Proposition 1.4.6知 n 必有一質因數小於等於

√n <

√100 = 10. 因此被我們所刪除 2, 3, 5, 7 的倍數就是所

有小於 100 的合成數, 自然剩下的便都是質數了.

質數既然有無窮多個, 接下來我們可以問是否有些特定形式的質數也會有無窮多個? 例

如我們知道偶數中只有 2 是質數, 因此可以將所有奇數分類, 分成 4n + 1 和 4n + 3 這兩類

然後問哪一類會有無窮多個質數. 要注意 4n + 1 這一類的數有一重要特性就是兩個 4n + 1形式的數相乘仍然是 4n + 1 的形式. 因此任意有限多個 4n + 1 形式的數相乘仍是 4n + 1的形式, 也就是說這一類的數有乘法封閉性. 另一方面 4n + 3 的形式的數就沒有這個特

性, 事實上兩個 4n + 3 形式的數相乘會變成 4n + 1 的形式. 利用這兩類數的特性以及類似

Lemma 1.4.4 的證明, 我們有以下之結果.

Lemma 1.4.7. 假設 a = 4n + 3 其中 n ∈ N ∪ {0}, 則必存在一質數 p = 4n� + 3 其中

n� ∈ N ∪ {0} 滿足 p|a.

Proof. 我們利用數學歸納法證明. 首先若 a = 3, 則由於 3 是質數我們得 p = 3 為所求.現假設對任意 b = 4k + 3 ∈ Z 滿足 0 ≤ k ≤ n− 1 的數皆存在質數 p = 4k� + 3 使得 p|b, 我們考慮 k = n 的情形. 若 a 本身是質數那當然 p = a 為所求. 反之, 如果 a 不是質數依定

義存在 b, c ∈ N 其中 b < a 且 c < a 使得 a = bc. 注意 b, c 中必有一個元素是 4k + 3 形式,否則 b, c 都是 4k + 1 形式會造成 bc = a 也是 4k + 1 形式的矛盾現象. 就假設 b = 4k + 3吧! 此時 0 ≤ k ≤ n − 1 (因 b < a), 故由歸納假設知存在 p = 4k� + 3 使得 p|b, 因而得證p|a. �

注意 4n + 1 形式的數並不一定有 4n + 1 形式的質因數. 9 就是最簡的的例子. 觀察由

Lemma 1.4.4 推得 Theorem 1.4.5 的關係, 同樣的我們也可利用 Lemma 1.4.7 推得 4n + 3形式的質數有無窮多個.

16 1. 整數的基本性質

Proposition 1.4.8. 集合 S = {4n + 3 | n ∈ Z, n ≥ 0} 中有無窮多個質數.

Proof. 我們依然用反證法假設 S 中只有有限多個質數並令 p0 = 3, p1, . . . , pn 是 S 中所

有的相異質數. 現考慮 a = 4(p1 · · · pn) + 3. 由於 a ∈ S 利用 Lemma 1.4.7 知必有一質數

p ∈ S 滿足 p|a, 故由假設知存在 i ∈ {0, . . . , n} 使得 p = pi, .

若 p = p0 = 3, 則由 3|a, 3|3 以及 a− 3 = 4(p1 · · · pn) 得知 3|4(p1 · · · pn), 故由 Corollary

1.4.3 得到 3|4 或者 3|pi, i ∈ {1, . . . , n} 這樣的矛盾.

若 p = pi 其中 i ∈ {1, . . . , n}, 則由 pi 本身整除 p1 · · · pn 知 pi|a− 4(p1 · · · pn), 也就是

說 pi|3 而得到矛盾. 故得證 S 中不可能僅有有限多個質數. �

因為 Lemma 1.4.7 並不適用於 4n + 1 形式的整數, 所以 Proposition 1.4.8 的方法不能

用來討論 4n + 1 形式的質數, 不過 4n + 1 形式的質數仍有無窮多個. 事實上數論一個很重

要的定理 (Dirichlet Theorem) 告訴我們對任意互質的兩整數 a, b 皆有無窮多個 an + b 形

式的質數. 這個定理的證明超出本講義範圍, 我們就不再多談了.

1.5. 算數基本定理

算術基本定理 (The fundamental theorem of arithmetic) 即唯一分解定理, 告訴我們每一個

大於 1 的整數若不是質數都可以寫成有限多個質因數的乘積且經過適當排序其寫法唯一.此定理看似自然且明顯, 但仍需一個正式的證明.

這裡我們又碰到一個典型的有關存在性與唯一性的問題. 這裡的存在性指的就是對一

大於 1 的整數可以找到有限多個質數使其可以寫成這些質數的乘積, 而唯一性就是指的就

是寫法唯一. 由於正整數和負整數的分解只差一個負號, 我們只需考慮正整數的情況.

Theorem 1.5.1 (The Fundamental Theorem of Arithmetic). 假設 a ∈ N 且 a > 1, 則存

在 p1, . . . , pr, 其中 pi 是相異的質數, 滿足

n1 nra = p · · · p , ni ∈ N, ∀i ∈ {1, . . . , r}.1 r

如果 a 可以分解成另外的形式 a = q1m1 · · · qs

ms, 其中 qi 是相異的質數, 則 r = s 且經

過變換順序可得 pi = qi, ni = mi, ∀ i ∈ {1, . . . , r}.

Proof. 我們分開來證存在性與唯一性.

首先來看存在性: 簡單來說存在性就是要證明每一個大於 1 的整數都可以寫成有限多

個(可以相同)質數的乘積. 如果 a 本身是個質數, 則 a = p1 (即 r = 1, n1 = 1), 得證存在

性. 如果 a 不是質數呢? 由定義知存在 a1, b1 ∈ N 且 a1 �= 1, b1 �= 1 滿足 a = a1 · b1. 接下

來就是看 a1, b1 是不是質數了. 如果其中有一個不是質數, 我們就繼續分解下去直到得到

質數為止. 這個過程一定會停下來因為每次分解後得的數越來越小. 當然最後就可以將 a

寫成一些質數的乘積了. 這樣的證明方式, 相信大家會有一種說不清楚的感覺, 所以我們還

是用數學歸納法來證明. 當 a = 2 時由於 2 是質數, 所以在這情況存在性是對的. 接著假

設對所有從 2 到 a− 1 的整數存在性是對的. 如果 a 是質數, 那存在性自然成立. 如果 a

171.5. 算數基本定理

不是質數, 則知 a = a1 · b1 其中 a1, b1 ∈ N 且 1 < a1 < a 及 1 < b1 < a. 故利用歸納假設知

a1 和 b1 都可寫成有限多個質數的乘積, 所以得證 a 也可以寫成有限多個質數的乘積.

我們依然用歸納法證唯一性, 假設

n1 nr m1 msa = p · · · p = q · · · q ,1 r 1 s

其中 p1, . . . , pr 是兩兩相異的質數, 且 q1, . . . , qs 也是兩兩相異的質數. 由於 p1 是質數, 故

由 p1 | a = q1m1 · · · qs

ms 以及 Corollary 1.4.3 知存在某個 j ∈ {1, . . . , s} 滿足 p1 | qj . 變換一

下順序我們可以假設 p1 | q1. 由於 q1 是質數, q1 的因數只能是 ±1 或 ±q1. 故由 p1 | q1 知

p1 = q1. 現在考慮a n1−1 nr m1−1 ms= p · · · p = q · · · q .1 r 1 sp1

由於 a/p1 < a, 故利用唯一性的歸納法假設我們得 r = s 且 p1 = q1, . . . , pr = qr 以及

n1 = m1, n2 = m2, . . . , nr = mr, 故得證唯一性. �

一般來說我們將一正整數 a 寫成質數之乘積 a = pn1

1 · · · pnr

r 時, 為了唯一性我們要求每

個質數 pi 的次方 ni 都是正的, 也就是說我們只挑出 a的質因數 p1, . . . , pr. 不過當要討論兩

正數 a, b 時為了方便比較, 我們通常會挑出 a 和 b 所有的質因數再將 a, b 寫成這些質數之n1 nr m1 mr乘積的樣子. 也就是說可寫成 a = p1 · · · pr 以及 b = p1 · · · pr 其中對於 i ∈ {1, . . . , r},

pi|a 或 pi|b, 且 ni ≥ 0, mi ≥ 0. 注意這裡由於 a 的質因數未必就是 b 的質因數, 反之亦然,所以 ni,mi 有可能為 0. 這樣寫法的方便性就是我們不必區分哪些 pi 是 a 的質因數, 哪些

是 b 的質因數. 利用這樣的寫法我們很容易將 a, b 的最大公因數表示出來.

n1 n1 m1 mrProposition 1.5.2. 假設 a, b ∈ N 且 a, b > 1. 若 a = p1 · · · pr 且 b = p1 · · · pr , 其中

p1, . . . , pr 為相異質數且 ni,mi ≥ 0, 則 a, b 的正公因數都可寫成 pt11 · · · pt

rr 的形式, 其中

0 ≤ ti ≤ min{ni,mi}. 特別地, 我們有min{n1,m1} min{nr,mr}gcd(a, b) = p · · · p .1 r

Proof. 首先回顧一下 min{x, y} 表示 x, y 中最小之數. 現假設 d 是 a, b 的正公因數, 則由

d|a 我們知若 p 是 d 的質因數, 則由 p|d 知 p|a. 故由 Corollary 1.4.3 知存在 i ∈ {1, . . . , r}使得 p|pi. 因此由 p, pi 皆為質數得 p = pi. 也就是說 d 的質因數必在 {p1, . . . , pr} 中, 故

d 一定可以寫成 pt11 · · · pt

rr 的形式, 其中 ti ≥ 0. 又由於對任意 i ∈ {1, . . . , r} 皆有 pt

ii |d 故

ptii |a, 亦即 pt

ii |pn

11 · · · n

rr . 由於若 i � =� pj , 知此時 gcd(pi

ti , pnj

j ) = 1, 故由 1.2.7(1)p = j 則 pi

得 piti |pi

ni , 也就是說 ti ≤ ni. 同理由 d|b 可得 ti ≤ mi, 故得證 0 ≤ ti ≤ min{ni,mi}.min{n1,m1} min{nr,mr}現令 d = p1 · · · pr , 馬上得知 d 為 a, b 之公因數. 又由上知任意 a, b 的

公因數 d� 皆滿足 d�|d, 故知 d = gcd(a, b). �

雖然 Proposition 1.5.2 也是一個求得兩個數之最大公因數之方法, 不過在實際情況 (尤

其是處理很大的數時) 由於分解質因數是很困難的事情, 所以仍是以輾轉相除法得最大公

因數較管用. Proposition 1.5.2 重要之處是它很明確的告訴我們最大公因數長什麼樣子, 這

在一些抽象理論的推導是有用的.

接下來我們可以利用 Proposition 1.2.8 將最小公倍數寫下.

18 1. 整數的基本性質

n1 n1 m1 mrCorollary 1.5.3. 假設 a, b ∈ N 且 a, b > 1. 若 a = p1 · · · pr 且 b = p1 · · · pr , 其中

p1, . . . , pr 為相異質數且 ni,mi ≥ 0, 則max{n1,m1} max{nr,mr}lcm(a, b) = p · · · p .1 r

Proof. 由於 ab = pn1

1+m1 · · · pnr

r+mr 利用 Proposition 1.2.8 以及 Proposition 1.5.2 知

ab n1+m1−min{n1,m1} nr+mr−min{nr,mr}lcm(a, b) = = p · · · p .1 rgcd(a, b)

對任意二數 x, y,不失一般性我們假設 x ≥ y,此時我們有min{x, y} = y且max{x, y} = x,因此得 x+ y = min{x, y}+max{x, y}. 所以對任意 i ∈ {1, . . . , r} 我們皆有 max{ni,mi} =

ni + mi −min{ni,mi}, 因此得證本定理. �

當我們有多於兩個的整數時, 我們就可以利用質因數分解以及 Proposition 1.2.12 和

Proposition 1.2.13 將他們的最大公因數和最小公倍數寫下. 例如若 a = p1n1 · · · pr

n1 , b =m1 mr t1 trp1 · · · pr 且 c = p1 · · · pr , 其中 p1, . . . , pr 為相異質數且 ni,mi, ti ≥ 0, 則

min{n1,m1,t1} min{nr,mr,tr}gcd(a, b, c) = p · · · p ,1 r

max{n1,m1,t1} max{nr,mr,tr}lcm(a, b, c) = p · · · p .1 r