背景
小学时,我们学习过如何对正整数进行质因数分解,但是没有严格证明所有正整数的质因数分解的结果都是唯一的(如果不考虑质因数的顺序)。本文会介绍算术基本定理 ( The Fundamental Theorem of Arithmetic)
正文
引理一
p 是一个质数, a,b 都是整数,如果 p∣ab 成立,那么以下两个命题至少有一个成立。
- p∣a
- p∣b
引理一的证明
我们先检查 p∣a 是否成立。
如果 p∣a 成立,那么证明结束(因为第一个命题成立)。
如果 p∤a,那么我们需要证明 p∣b。考虑到 p∤a,而 p 的约数只有 1 和 p,那么 gcd(p,a)=1 成立。依据扩展欧几里得定理(可以参考 Python 扩展欧几里得算法 一文),我们可以找到满足下列等式的整数 x,y
px+ay=1
我们可以在等式两边乘以 b,得到 ⬇️
pxb+aby=b
由于 p∣p 和 p∣ab 都成立,所以等式左边可以被 p 整除,那么等式右边也能被 p 整除,即 p∣b。证明结束(因为第二个命题成立)。
引理二
Prime Divisibility Property
p 是一个质数, a1,a2,⋯,ar 都是整数,如果 p∣a1a2⋯ar,那么以下 r 个命题至少有一个成立。
- p∣a1
- p∣a2
- ⋯
- p∣ar
引理二的证明
我们可以对 r 的大小进行归纳证明 ⬇️
- r=1 时, p=a1, p∣a1 自然成立
- r=2 时,引理二退化为引理一
- r=3 时
- 如果 p∣a1,那么引理二成立
- 如果 p∤a1,那么根据引理一, p∣a2a3 成立。利用引理一, p∣a2 成立或者 p∣a3 成立。引理二得证。
- r=4 时
- 如果 p∣a1,那么引理二成立
- 如果 p∤a1,那么根据引理一, p∣a2a3a4 成立。这就退化成了 r=3 的情况。
- ...
所以,我们可以把引理一视为引理二在 r=2 时的特例,把引理二视为引理一的推广。
算术基本定理
算术基本定理 ( The Fundamental Theorem of Arithmetic)
对于任意满足 n≥2 的整数 n,它都可以分解为若干个质数的乘积,而且这个分解结果是唯一的(如果不考虑质因数的顺序)。
证明分为两部分 ⬇️
- 分解结果存在
- 分解结果唯一
证明分解结果存在
n=2 时, 2 就是(一个)分解结果。假设我们已经证明了 2≤n≤k 的情况,现在要用数学归纳法证明 n=k+1 的情况。
如果 k+1 自身就是质数,那么 n=k+1 就是(一个)分解结果。
如果 k+1 不是质数,考虑到每个大于等于 2 的整数至少有 2 个约数,即 1 和它自身。既然 k+1 不是质数,那么 k+1 一定还有除了 1 和 n 之外的其他约数 x, x 满足 1<x<(k+1)。 n=x 以及 n=xk+1的情况,已经被归纳假设所涵盖了, x 和 xk+1 都可以写成若干个质数的乘积。那么 k+1=x×xk+1 也可以写成若干个质数的乘积。
n=k+1 的情况证明完毕。根据数学归纳法,分解结果的存在性对任意 n≥2 都成立。
证明分解结果唯一
n=2 时,只有一个分解结果 n=2,假设存在某个 N,它的质因数分解的结果不唯一。那么我们逐个检查 n=2,3,⋯,N 的情况,一定可以找到 分解结果不唯一 的最小的整数 N0 (那么 2<N0≤N) 成立。请注意,对任意满足 2≤n<N0 的 n,其分解结果都是唯一的。由于 N0 的分解结果不唯一,那么它至少有两种分解结果,分别记录如下
- N0=p1p2⋯ps
- N0=q1q2⋯qt
其中 p1,p2,⋯,ps 均为质数, q1,q2,⋯,qt 均为质数。为了便于讨论,我们假设 p1,p2,⋯,ps 和 q1,q2,⋯,qt 各自已经按照从小到大的顺序排序过了。
我们看看 p1。由于 N0=∣p1p2⋯ps 所以, p1∣N0。根据引理二,以下 t 个命题中至少有一个命题成立
- p1∣q1
- p1∣q2
- ⋯
- p1∣qt
考虑到 q1,q2,⋯,qt 均为质数,也就是说, q1,q2,⋯,qt 中一定存在和 p1 相等的元素。换句话说, q1,q2,⋯,qt 中至少有一个数字是 p1。
我们看看 q1。用类似的方式,可以得出 p1,p2,⋯,ps 中至少有一个数字是 q1。
考虑到 p1,p2,⋯,ps 和 q1,q2,⋯,qt 均已排序,
- p1 在 q1,q2,⋯,qt 中出现,那么 p1≥q1
- q1 在 p1,p2,⋯,ps 中出现,那么 q1≥p1
所以 p1=q1 成立。这就出现一个问题:既然 p1=q1,那么我们重新看一下 N0 的两种分解结果 ⬇️
- N0=p1p2⋯ps
- N0=q1q2⋯qt
我们可以在每个等式两边都除以 p1 (也就是 q1),记 N0′=N0/p1,于是得到
- N0′=p2⋯ps
- N0′=q2⋯qt
这就意味着 N0′ 至少有两种分解结果,这与" N0 是分解结果不唯一的最小的整数"矛盾。至此,我们用反证法证明了分解结果的唯一性。
说明
本文所提供的证明方法是比较典型的证法(或者典型证法的变体),由于典型的证明方法很容易搜到,可以认为这些证法是公共知识,没有版权。