跳至内容
Topos Uranos

摘要

本课研究素数,即自然数乘法的原子。本课证明每个大于 11 的自然数都有素因数,介绍埃拉托斯特尼筛法以及为什么筛到平方根就够了,并跟随欧几里得证明素数有无穷多个。随后证明欧几里得引理,即整除一个乘积的素数必整除它的某个因数,并借助它证明算术基本定理:每个大于 11 的自然数都能以唯一的方式写成素数的乘积。由素因数分解可以推出一个自然数的因数个数、完全平方数的刻画,以及每个不是完全平方数的自然数的平方根的无理性。

学习目标

  1. 区分素数与合数,并证明每个大于 11 的自然数都有素因数。
  2. 应用埃拉托斯特尼筛法,并说明为什么只需划去不超过上限的平方根的那些素数的倍数。
  3. 证明素数有无穷多个、欧几里得引理以及素因数分解的存在性与唯一性。
  4. 利用素因数分解计数和列举因数、识别完全平方数,并证明平方根的无理性。

素数与合数

在关于整除与带余除法的课中已经看到,每个自然数 nn 都能被 11 和它自身整除。有些自然数除了这两个以外没有别的因数;它们是零件,所有其他自然数都由它们通过乘法组成。

定义(素数)。自然数 pp 称为素数,如果 p>1p > 1 并且它的因数只有 11 和 pp。不是素数的自然数 n>1n > 1 称为合数:它可以写成 n=abn = ab,其中 1<a<n1 < a < n 且 1<b<n1 < b < n。数 11 既不是素数也不是合数。

小于 5050 的素数有以下十五个:

2,3,5,7,11,13,17,19,23,29,31,37,41,43,472, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47

22 是唯一的偶素数,因为其他每个偶数都有因数 22,它既不同于 11,也不同于该数本身。排除 11 并非定义的任性之举:如果 11 是素数,素因数分解就不再唯一,因为 6=2⋅3=1⋅2⋅36 = 2 \cdot 3 = 1 \cdot 2 \cdot 3,本课的核心定理就不得不带着一个例外来陈述。

良序原理

本课的证明依赖于归纳原理的一种形式,它对于关于因数的推理特别方便:良序原理,即每个非空的自然数集合都有最小元。它已在关于求和、数列与归纳法的课中由强归纳法推出,这里直接使用,不再重复其证明。

每个大于 1 的自然数都有素因数

本课的第一个结果保证,没有任何大于 11 的自然数能逃脱素数:总有一个素数整除它,而且可以在它最小的那些因数中找到。

命题大于 1 的最小因数是素数

每个自然数 n>1n > 1 都有素因数:nn 的大于 11 的最小因数是素数。此外,若 nn 是合数,则它的最小素因数 pp 满足 p2≤np^2 \leq n。图在数轴上标出 n=91=7⋅13n = 91 = 7 \cdot 13 的因数。

证明

  1. D={d∈N:d∣n∧d>1},n∈D,m=min⁡D\dato{D}{D = \{ d \in \mathbb{N} : d \mid n \wedge d > 1 \}}, \quad n \in D, \quad m = \min D

    nn 的大于 11 的因数组成的集合非空,因为它包含 nn 本身;由良序原理,它有最小元 mm。

  2. a∣m∧m∣n→a∈D,a<ma \mid m \wedge m \mid n \rightarrow \resaltar{a \in D}, \quad \resaltar{a < m}

    如果 mm 是合数,m=abm = ab,其中 1<a<m1 < a < m,那么因数 aa 整除 mm,并且由整除的传递性,它也整除 nn:它将是 DD 中小于 mm 的元素,与 mm 的选取矛盾。所以 mm 是素数。

  3. n=pk,k∈D\dato{k}{n = pk, \quad k \in D}

    现在设 nn 是合数,并设 pp 是它的最小素因数,也就是 DD 的最小元。写出 n=pkn = pk;由于 nn 不是素数,k≠1k \neq 1,而且 kk 也整除 nn。

  4. p2=p⋅p≤p⋅k=np^2 = p \cdot p \leq \resaltar{p \cdot k} = n

    由 pp 的最小性得 k≥pk \geq p,再由乘法的单调性得到这个上界。

因此,要判断一个自然数 nn 是否为素数,只需逐一试验素数 pp(满足 p2≤np^2 \leq n 者):如果其中没有一个整除它,nn 就是素数。例如,对于 221221,只需试验到 1313 为止的素数,因为 172=289>22117^2 = 289 > 221:它不能被 22、33、55、77 或 1111 整除,但能被 1313 整除,并且 221=13⋅17221 = 13 \cdot 17。相反,211211 不能被素数 22、33、55、77、1111 和 1313 中的任何一个整除,又因为 172=289>21117^2 = 289 > 211,所以 211211 是素数。