# 同余的基本性质
# 基本概念
设 m 是正整数,a,b 为两个整数,如果 a−b 是 m 的倍数,那么称 a 和 b 关于 m 同余,记作 a≡b(modm)
证明题需要充分利用 a,b 关于 m 同余 ⇔ m∣a−b
模 m 剩余类
设 m 是正整数,全体整数按照模 m 同余划分成 m 个不同的等价类。整数 a 所在的剩余类记为 aˉ,整数 x 属于剩余类 aˉ 当且仅当 x≡a(modm)
模 m 完全剩余系
从每个剩余类取出一个整数形成 m 元集合
证明一个系不是模 m 完全剩余系 ⇒ 证明系中有两个元素模 m 相等
模 m 简化剩余类
如果整数 a 与 m 互素,那么 a 所在的剩余类 aˉ 称为模 m 简化剩余类
模 m 简化剩余系
从每个简化剩余类中取出一个整数形成的集合称为模 m 简化剩余系
欧拉函数
在整数 1,2,3,...,m 中,所有和 m 互素的整数的个数称为 m 的欧拉函数,记作 φ(m)
- 注意整数不含 0
- 当 p 是素数时, φ(p)=p−1
- 欧拉函数 即 简化剩余系的个数
# 运算的性质
设 m,n 为正整数,模 m 的剩余类 aˉ 可以拆分成 n 个模 mn 的剩余类, aˉ,a+m,...,a+m(n-1)
举例说明
假设 m=3,n=4
那么 mod 3 共有 3 个剩余系: 3k + 0, 3k + 1, 3k + 2
选取 3k + 1
分析:
mod 3
1 4 7 10 13…
mod 12
1ˉ 4ˉ 7ˉ 1ˉ0 1ˉ…
显然在 “跨小步” 时, 1,4,7,10,...
属于同一类,但是在 “跨大步” 时,它们属于不同类
⇒aˉ(modm)={aˉ,aˉ+m,aˉ+2m,...,aˉ+(n-1)m}
设 m,n 为正整数,若 a≡b(modmn),则 a≡b(modm),a≡b(modn)(逆定理不成立)
设 m,n 为正整数,若 a≡b(modm),a≡b(modn),则 a≡b (mod [m,n])
模的运算性质:
若 a≡b(modm),则 a+b≡b+c(modm)
若 a≡b(modm),k 为整数,则 ak≡bk(modm)
若 ak≡bk(modm),k 为整数,且 (k,m)=1,则 a≡b(modm)
若 a≡b(modm),那么 a/c≡b/c(mod(m,c)m)
若 a≡b(modm),k 为正整数,则 ak≡bk(modm)k,反之亦然
若a≡b(modm),f(x) 为任一整系数多项式,则 f(a)≡f(b)(modm)
若 a1≡a2(modm),b1≡b2(modm),则a1+b1≡a2+b2(modm),a1b2≡a2b2(modm)
神奇的规律
列出一个乘法:
1 2 3 4
| 123 -- ① × 258 -- ② ---------- 31734 -- ③
|
对①每个数字相加知道只剩一位数: 1 + 2 + 3 = 6
对②每个数字相加知道只剩一位数: 2 + 5 + 8 = 15, 1 + 5 = 6
对③每个数字相加知道只剩一位数: 3 + 1 + 7 +3 + 4 = 18, 1 + 8 = 9
对于①②得到的数字,相乘: 6 * 6 = 36, 2 + 6 = 9
9 == 9
计算正确
原理是什么呢??
看似在做加法,实则在进行 mod 9
同余运算
引入一个概念:树根。
数根是对一个数的所有数位进行求和,直到只剩下个位数。一个数的数根就是它对 9 取模的余数
模 9 的这个性质来源于数位展开:
一个数 (N) 可以表示为:
N=ak⋅10k+ak−1⋅10k−1+⋯+a1⋅10+a0
其中,(ak,ak−1,…,a0) 是该数的各个位数字。
10n≡1(mod9)(因为 10 被 9 除余 1)
ak⋅10k+ak−1⋅10k−1+⋯+a1⋅10+a0≡ak+ak−1+⋯+a1+a0(mod9)
也就是说,一个数模 9 的结果等于它的各位数字之和的模 9 结果。
由于模 9 乘法的封闭性,即:
(Amod9)×(Bmod9)≡(A×B)mod9
所以这个检验方法对所有整数乘法都有效。
# 抽象的性质
设 m 是正整数,若 (a,m)=1, 则
- 当 x 遍历模 m 的一个完全剩余系时,对于任意整数 b , ax+b 遍历模 m 的一个完全剩余系
- 当 x 遍历模m 的一个简化剩余系时, ax 遍历模 m 的一个简化剩余系
设 m,n 为正整数,(m,n)=1,则
-
当 x 遍历模 n 的一个完全剩余系时, y 遍历模 m 的一个完全剩余系时, mx+ny 遍历模 mn 的一个完全剩余系
-
当 x 遍历模 n 的一个简化剩余系时, y 遍历模 m 的一个简化剩余系时, mx+ny 遍历模 mn 的一个简化剩余系,
即
φ(mn)=φ(m)φ(n)
习题:
![]()
解析
C.
利用数学归纳法
显然对于 n=1,恒等式成立
假设对于 n=k 也成立,即 4k≡1+3k(mod9)
下证 对于 n=k+1 成立:
4k+1=4×4k≡4×(1+3k)(mod9)4k+1≡4+12k(mod9)4k+1≡4+3k(mod9)4k+1≡1+3(k+1)(mod9)
D. 同理,利用数学归纳法证明即可
![]()
解析
a 一共有奇数和偶数两种情况
奇数: a=2k+1
偶数:a=2k
则 a2=4k2+4k+1 或者 a2=4k2
显然答案只有 0,1
![]()
解析
- 分析 6x+9y 模 54 的余数
因为 54 的余数的范围是 0,1,...,53
,而 6x+9y 是 3 的倍数,所以 6x+9y 模 54 的余数只可能是 0,3,6,...,51
,共18 个可能的余数
接着确定余数是否都能被取到:
x 的取值:x∈ { 0,1,2,3,4,5,6,7,8 }
y 的取值:y∈ { 0,1,2,3,4,5,6}
因为 6×9=54 所以 6x 的周期是 9
因为 9×6=54 所以 9y 的周期是 6
⇒ 6x+9y 的周期是 lcm(9,6)=18
所以, 6x+9y 模 54 的余数会重复每 18 个数
- 分析 6x+9y 模 18 的余数
因为 18 的余数范围是 0,1,2,...,17
,而 6x+9y 是 3 的倍数,所以 6x+9y 模 18 的余数只可能是 0,3,6,...,15
,共 6 个可能的余数
接着确定余数是否都能被取到:
因为 6×3=18 所以 6x 的周期是 3
因为 9×2=18 所以 9y 的周期是 2
⇒ 6x+9y 的周期是 lcm(9,6)=6
所以, 6x+9y 模 18 的余数会重复每 6 个数
- 分析 6x+9y 模 6 的余数
因为 6 的余数范围是 0,1,2,...,5
,而 6x+9y 是 3 的倍数,所以 6x+9y 模 6 的余数只可能是 0,3
,共 2 个可能的余数
接着确定余数是否都能被取到:
首先化简:
6x+9y≡0+3y(mod6)
因为 3×2=6 所以 3x+9y 的周期是 2
所以, 6x+9y 模 6 的余数会重复每 2 个数
# 欧拉定理和费马小定理
设 p 为素数, e 为正整数,则 φ(pe)=pe−pe-1
证明
pe 中共有 pe 个数
因为 p 是素数,所以除了 p 的倍数,其他的数都和 p 互素
即 1p,2p,3p,...,pe−1,pe 这些数和 p 不互素
一共有 pe/p 个
所以 φ(pe)=pe−pe-1
设 m 为正整数,其标准分解式 m=i=1∏spiαi,则 φ(m)=mi=1∏s(1−pi1)
证明
φ(m)=φ(p1α1⋅p2α2,...,pkαk)=(p1e−p1e-1)⋅(p2e−p2e-1)...
# 欧拉定理
设 m 为正整数, (a,m)=1,那么 aφ(m)≡1(modm)
举例证明
例如 mod=8,φ(8)= {1,3,5,7}
由性质可知 ×3 仍然遍历整个简化剩余系 { 3,9,15,21 } ⇒ { 3,1,7,5 }
所以可以得到:
3 * 1 = 3 (mod 8)
3 * 3 = 1 (mod 8)
3 * 5 = 7 (mod 8)
3 * 7 = 5 (mod 8)
将上面四个式子乘起来:
34×(1×3×5×7)=(1×3×5×7)(mod8)⇒34=1(mod8)
# 费马小定理
设 p 为素数,那么对于任意整数 a, ap≡a(modp)
理解
aφ(m)≡1(modm)aφ(m)+1≡a(modm)ap≡a(modm)
# 扩展欧拉定理
设 p 为素数, k≥0,r≥t,那么对于任意整数 a,
akφ(pt)+r≡ar( mod pi)
![]()
# 模重复平方法
空间换时间
习题:
![]()
解析
根据素数基本定理:n 可以表示成 n=p1k1p2k2...pmkm,其中 pi 是素数,ki 是正整数
φ(n)=φ(p1k1)φ(p2k2)...φ(pmkm)φ(n)=(p1k1−p1k1−1)(p2k2−p2k2−1)...(pmkm−pmkm−1)
显然我们需要找到所有可能的素数幂 piki 使得 φ(piki) 是 24 的因子
而 24 的因子有 1, 2, 3, 4, 6, 8, 12, 24
接下来分情况讨论:
-
k=1:即 φ(p)=p−1 且 φ(p) 是 24 的因子 的情况
显然 p 的取值只有 2, 3, 5, 7, 13
φ(p) 的取值只有 1, 2, 4, 6, 12
-
k>1:
我们利用列举法
p = 2
:
k = 2
:φ(22)=2
k = 3
:φ(23)=4
k = 4
:φ(24)=8
k = 5
:φ(25)=16
p = 3
:
k = 2
:φ(32)=6
k = 3
:φ(33)=18
p = 5
:
k = 2
:φ(52)=20
构造 n:
-
显然 n 不能是单个素数幂
-
n 是两个不同素数幂的乘积,即 φ(n)=φ(pk)×φ(qm)
根据前面的已知信息 n 可以等于
- 3×13
- 5×7
- 22×32,22×7,5×32
![]()
一般结论:
d∣n∑φ(d)=n
解析
d∣n 中 d 是所有因子,不只是素因子
![]()
# 同余式
设 f(x)=i=0∑naixi 是一个整系数多项式, m 为正整数,那么称 f(x)≡0(modm) 为模 m 同余式
若 b≡a(modm),则 f(a)≡f(b)≡0(modm),所以 b 也是同余式的解
- 一般地,若 a 是同余式的解,那么模 m 剩余类 aˉ 中的所有整数都是同余式的解,记作 x≡a(modm)
模 m 的完全剩余系中同余式的解的个数成为同余式的解数
# 解同余式
设 m 为正整数,同余式 ax≡b(modm) 有解的充要条件是 (a,m)∣b
在有解的情况下,解数为 (a,m)
若 x=x0 是同余式的一个特解,那么同余式的所有解可以表示为
x≡x0+(a,m)mt(modm)
证明
ax≡b(modm)有解⇔存在整数y,ax−b=my
ax−my=b 就可以利用之前学习的求解不定方程的方式求解
# 逆元
设 m 为正整数,(a,m)=1,同余式 ax≡1(modm) 的解称为 a 模 m 的逆元,记作 x≡a−1(modm)
设 m 为正整数,(a,m)=1,那么 aφ(m)−1 是 a 模 m 的逆元
Wilson 定理:设 p 是素数,那么 (p−1)!≡−1(modp)
# 中国剩余定理
设 m1,m2,...,ms 为两两互素的正整数,b1,b2,...,bs 为任意整数,那么同余式组
⎩⎪⎪⎪⎨⎪⎪⎪⎧x≡b1(modm1)x≡b2(modm2)...x≡bs(modms)
模 M=m1m2...ms 有唯一解 x≡i=1∑sbi⋅miM[(miM)−1(modmi)](modM)
习题
带公式版本:
带入版本:(不需要mi 互素)
技巧版本:
设 m1,m2,...,ms 为两两互素的正整数,若对于 1≤i≤s,同余式 fi(x)≡0(modmi) 有 Ci 个解,那么同余式组
⎩⎪⎪⎪⎨⎪⎪⎪⎧f1(x)≡0(modm1)f2(x)≡0(modm2)...fs(x)≡0(modms)
模 M=m1m2...ms 有 C1C2...Cs 个解
举例
x2−1≡0(mod3)x≡1或2(mod3)
对于高次的同余式,在模很小的情况下,可以用尝试法
注意:不要试到一个答案就不试了,因为高次的式子会有多个答案
设 p 为素数,i1≥i2≥...≥is,b1,b2,...,bs 为任意整数,同余式组
⎩⎪⎪⎪⎨⎪⎪⎪⎧x≡b1(modpi1)x≡b2(modpi2)...x≡bs(modpis)
如果有解,其解为
x≡b1(modpi1)
有解充要条件是
⎩⎪⎪⎪⎨⎪⎪⎪⎧b1≡b2(modpi2)b2≡b3(modpi3)...bs≡bs(modpis)
理解
因为modpi1 是最难满足的,所以只要最高次的式子可以满足,(如果有解)后面的就都可以满足
判断有解的充要条件其实就是把解带入,看是否满足
习题
# 模为素数幂的同余式的解法
设 p 为素数,
- 若 x≡x1(modp) 是同余式 f(x)≡0(modp) 的一个解
- 且满足 (f′(x1),p)=1
则对于任意正整数 k>1,f(x)≡0(modpk) 的满足 x≡x1(modp) 的解 xk 可通过如下递推公式得到:
xi≡xi−1−f(xi−1)⋅(f′(x1)−1(modp))(modpi),i=2,3,⋯,k
习题