同余定义
同余定义
一般地,设n为正整数,a 和 b 为整数。
- 如果 a 和 b 被 n 除后余数相同,那么称 a 和b 模 n 同余,记作 a≡b(modn).
- 若 a 和 b 被 n 除后余数不同,则称a 和b 模n 不同余,记作: a≡b(modn)
这是为您重写的证明,采用了极简的算式推导流。
这个定理非常实用,它打通了“余数世界”和“整除世界”的桥梁。我根据其核心性质,将其命名为**“同余差分律”**。
同余差分律 (同余定义的等价形式)
核心直觉:如果两个数 a 和 b 在圆环跑道上停在同一个位置(同余),那么它们跑过的路程之差,一定是跑道长度 n 的整数倍。
a≡b(modn)⟺n∣(a−b)
-
定义(带余除法):
设 a,b 被 n 除,商为 q,q′,余数为 r,r′。
b=nq′+r′
-
做差(构建联系):
两式相减:
a−b=n(q−q′)+(r−r′)
-
正向推导 (⇒):
- 若 a≡b(modn)(即余数相同 r=r′)
- ⇒r−r′=0
- 代入差分式: ⇒a−b=n(q−q′)
- 结论:n∣(a−b)
-
逆向推导 (⇐):
- 若 n∣(a−b)
- 观察差分式 a−b=能被n整除n(q−q′)+(r−r′)
- ⇒n 必须整除剩余部分 (r−r′)
关键限制:
- 余数差的绝对值必然小于除数:−n<r−r′<n
- 在此范围内,能被 n 整除的数只有一个:0。
∴r−r′=0⇒r=r′
结论:a≡b(modn)
逻辑:两数相减,正好把“多出来的余数”抵消掉,只剩下 n 的整数倍。
根据上面的定义,很容易得到同余的性质
同余的性质
- 反身性:a≡a(modn)
- 对称性:若 a≡b(modn),则 b≡a(modn)
- 传递性:若 a≡b(modn) 且 b≡c(modn),则 a≡c(modn)
传递性的简易证明:
- 由 a≡b(modn) 和 b≡c(modn),可得 n∣(a−b) 和 n∣(b−c)
- 由整除的性质,可得 n∣(a−b+b−c)=n∣(a−c)
- 由同余的定义,可得 a≡c(modn)
同余的运算性质
同余的运算性质
若 a≡b(modn),c≡d(modn),则
- 加法: a+c≡b+d(modn)
- 减法: a−c≡b−d(modn)
- 乘法: a×c≡b×d(modn)
- 倍增: ka≡kb(modn)
- 幂运算: am≡bm(modn)
同余消去率
若 ab≡ac(modn) 且 (a,n)=1,则 b≡c(modn)
这是为您准备的证明,采用极简算式推导流。
我们统一使用 同余差分律 作为解题万能钥匙:
定义:A≡B(modn)⟺n∣(A−B)。
设 a−b=nk,c−d=nm。
1. 加减法
目标:(a±c)≡(b±d)(modn)
- 做差:
(a±c)−(b±d)=(a−b)±(c−d)
- 代入:
=nk±nm
=n(k±m)
- 结论:
n 整除差值 ⇒ 成立。
2. 乘法
目标:ac≡bd(modn)
- 做差:
ac−bd
- 搭桥 (关键技巧:加一项减一项 bc):
=ac−bc+bc−bd
=c(a−b)+b(c−d)
- 代入:
=c(nk)+b(nm)
=n(ck+bm)
- 结论:
n 整除差值 ⇒ 成立。
3. 倍增
目标:ka≡kb(modn)
- 做差:
ka−kb
- 提取:
=k(a−b)
=k(nk)
- 结论:
结果仍是 n 的倍数 ⇒ 成立。
4. 幂运算
目标:am≡bm(modn)
- 做差:
am−bm
- 因式分解公式:
=(a−b)(am−1+am−2b+⋯+bm−1)
- 判定:
∵a≡b⇒n∣(a−b)
∴n 必整除包含 (a−b) 因子的整个乘积。
- 结论:
成立。
5. 同余消去律
目标:若 ab≡ac(modn) 且 (a,n)=1,则 b≡c。
- 转化:
ab≡ac⇒n∣(ab−ac)
⇒n∣a(b−c)
- 引用互质消去律:
∵n∣a(b−c) 且 (n,a)=1
∴n 无法“依附”于 a,必须整除 (b−c)。
- 结论:
n∣(b−c)⇒b≡c(modn)。
核心技巧:
- 加减法:直接做差。
- 乘法:搭桥法(加一项减一项)。
- 倍增:提取公因子。
- 幂运算:因式分解。
- 消去律:利用互质性质。
这些性质让同余运算像代数中的等式一样自由操作,是解题的强大工具。
这是一份基于你提供的关于**“剩余类及其运算”**(Residue Classes and Operations)的图片内容整理的学习总结。
这一章节标志着数论学习的一个重要飞跃:从研究单独的“数”,转向研究“数的集合”(类)。
6. 同余消去律 (通用版)
这个定理告诉我们:在同余式两边同时消去一个数时,模数也必须同时除以它们的最大公约数。
同余消去律 (通用版)
ca≡cb(modn)⟺a≡b(mod(c,n)n)
证明过程
设 d=(c,n) 为 c 和 n 的最大公约数。
-
转化 (同余转整除):
- ca≡cb(modn) ⟺n∣c(a−b)
-
约分 (提取公约数 d):
- 将 n 写为 d⋅dn,将 c 写为 d⋅dc
⟺d⋅dn∣d⋅dc(a−b)
-
化简 (两边同除以 d):
- ⟺dn∣dc(a−b)
-
引用 (互质消去律):
- ∵ 除去最大公约数后,(dn,dc)=1 (互质)
- 根据互质消去律,dn 无法整除 dc,必须整除后半部分
- ⟺dn∣(a−b)
-
结论 (整除转同余):
⟺a≡b(moddn)
即 a≡b(mod(c,n)n)
证毕
直觉模型: 因为乘数 c 里面含有模数 n 的“基因”(公因子),所以在消去 c 之后,模数 n 必须把这部分“基因”也剔除掉,剩下的才是 a 和 b 真正的约束。
举个栗子 🌰
假设 模数 n=12(你的目标是凑齐 12 的倍数)。
我们看方程:6a≡6b(mod12)。
这里 c=6。
- 目标:6×(a−b) 必须是 12 的倍数。
- 分析 c (即 6):
- 6 里面已经包含了因子 2 和 3。
- 12 里面包含了因子 2,2,3。
- 你看,c 已经提供了 12 所需的大部分因子,只缺一个 2 了!
- 结果:
- (a−b) 只需要负责提供剩下的那个 2 就可以了。
- 所以,a 和 b 的差距只要是 2 的倍数 就行,不需要是 12 的倍数。
- 这就是为什么模数从 12 变成了 2 ((6,12)12=2)。
7. 同倍律
a≡b(modm)→ka≡kb(modk)m
剩余类及其运算
在此之前,我们学习了同余 a≡b(modm),这意味着 a 和 b 除以 m 的余数相同。
现在,我们将所有**“同余的数”打包放进同一个袋子里,这个袋子就叫剩余类**。
- 定义:对于给定的模 m,我们可以根据余数是 0,1,2,…,m−1 将所有的整数划分为 m 个集合。
- 例子 (模 3):
如果我们模 3,整数被分为 3 类:
- 余 0 的类 (0):{…,−6,−3,0,3,6,…}
- 余 1 的类 (1):{…,−5,−2,1,4,7,…}
- 余 2 的类 (2):{…,−4,−1,2,5,8,…}
- 符号:
- 模 m 的剩余类集合记作 Zm。
- 例如 Z3={0,1,2}。
- 其中的每一个元素(如 1)代表的不仅仅是数字 1,而是所有除以 3 余 1 的整数的集合。
有了这些“类”,我们就可以直接对它们进行加法和乘法运算。这不再是普通数字的运算,而是集合与集合之间的运算。
运算规则
- 加法:a+b=a+b
- 乘法:a×b=a×b
核心思想:你可以从类 a 中随便拿一个代表数,从类 b 中随便拿一个代表数,算完之后看结果属于哪个类。结果与你选哪个代表数无关(这叫运算的“良定义”)。
证明剩余类的运算与代表数的选择无关,可以通过同余的性质来证明。
-
加法:
设 a≡a′(modm),b≡b′(modm),则
a+b≡a′+b′(modm)
因此,a+b=a+b=a′+b′=a′+b′。
-
乘法:
类似地,可以证明 a×b=a′×b′。
这里是为你重写的证明,完全采用了你要的“极简算式推导流”风格。
模 n 逆元存在充要条件
核心逻辑:将抽象的“模运算”降维成具体的“整系数方程”,利用 裴蜀定理 在“方程有解”与“互质”之间建立双向通道。
-
转化:定义 → 方程
- [a] 有逆元 ⟺[a][x]=[1]⟺[ax]=[1]
- ⟺ax≡1(modn)
- ⟺n∣1−ax
- ⟺ny=1−ax→ny+ax=1
- ⟺∃x,y∈Z,使得 ax+ny=1
-
必要性 (⇒):方程 → 互质
- 令 d=(a,n)
- ∵d∣a 且 d∣n⇒d∣(ax+ny)
- 代入方程 ax+ny=1⇒d∣1
- ∴(a,n)=1
-
充分性 (⇐):互质 → 方程 → 逆元
- 若 (a,n)=1
- 引用:裴蜀定理 (即:若 (a,n)=d⇒∃x,y,ax+ny=d)
- ⇒∃x,y 使得 ax+ny=1
- 两边模 nax≡1(modn)
- ∴[x] 即为 [a] 的逆元
证毕
这种把“模 1”转化成“等于 1 加上 n 的倍数” (ax+ny=1) 的技巧,是解决同余问题的通用钥匙。
按照这个逻辑流,你觉得哪一步最关键,起到了“桥梁”的作用?
零因子
图片中展示了模 4 (Z4) 和模 5 (Z5) 的加法与乘法表,对比这两个表能发现非常重要的性质。
3.1 模 4 的运算 (Z4)
- 集合:{0,1,2,3}
- 特殊的现象:
在乘法表中,我们发现:
2×2=4=0
这意味着:两个非零的数相乘,结果竟然变成了 0!
- 这种现象在普通算术中是不存在的,但在模运算(特别是模合数)中很常见。这些非零但乘积为零的数被称为“零因子”。
3.2 模 5 的运算 (Z5)
- 集合:{0,1,2,3,4}
- 性质:
由于 5 是素数,观察其乘法表可以发现:
- 没有出现“两个非零数相乘等于 0”的情况。
- 这使得 Z5 的结构比 Z4 更“完美”,性质更接近我们熟悉的实数运算。
总结与升华
- 抽象化:剩余类把无穷多的整数简化成了有限个“对象” (0 到 m−1)。
- 运算封闭:在 Zm 里怎么算(加或乘),结果永远还在 Zm 里,跑不出去。
- 素数的特殊性:对比模 4 和模 5 的运算表暗示了:模是素数时,运算性质通常比模是合数时更优良(没有零因子)。
费马小定理
这是模运算中关于素数的一个神奇性质。
定理描述
设 p 为素数,对于任意整数 a,有:
ap≡a(modp)常用推论(更常用的形式):
如果 a 不是 p 的倍数(即 (a,p)=1),两边消去一个 a 得到:
ap−1≡1(modp)
核心直觉
在模素数 p 的世界里,如果你把一个数 a 连续乘 p−1 次,它就会“归一”,变回 1。这定义了一个长度为 p−1 的循环周期。
证明
核心逻辑:构造两组数,一组是“原版”,一组是“放大版(乘 a)”。利用模运算的“重排”性质建立乘积等式,最后像解方程一样消去阶乘。
-
构造:取 1 到 p−1 的整数集 S
- S={1,2,…,p−1}
- 将 S 中各项同乘 a 得到 S′
- S′={a,2a,…,(p−1)a}
-
性质:同余重排
- 互不相同:若 i⋅a≡j⋅a(modp),根据同余消去律(因为 (a,p)=1),必有 i≡j。
- 这里用到了p→q⟺¬q→¬p
- 非零:因为 p 是素数且 a 不是 p 的倍数,所以 k⋅a 模 p 不可能为 0。
- 结论:S′ 中的元素模 p 之后,刚好就是 S 中的元素(只是顺序打乱了)。
-
做积:两集合元素连乘,积必同余
- ∏(S′)≡∏(S)(modp)
- ⇒a⋅2a⋯(p−1)a≡1⋅2⋯(p−1)(modp)
-
提取:整理算式
- 左边提取 p−1 个 a,并将数字部分合并为阶乘:
- ap−1⋅(p−1)!≡(p−1)!(modp)
-
消去:同余消去律
- ∵p 是素数 ⇒((p−1)!,p)=1 (阶乘与 p 互质)
- 两边消去公因子 (p−1)!
- ∴ap−1≡1(modp)
证毕
欧拉函数
为了把费马小定理推广到任意整数(不仅仅是素数),我们需要先定义一个计数工具:欧拉函数 ϕ(n)。
定义
ϕ(n) 表示在 1 到 n 之间,有多少个正整数与 n 互质。
计算公式
若 n 的标准分解式为 n=p1a1p2a2…pkak,则:
ϕ(n)=n(1−p11)(1−p21)…(1−pk1)例子
- ϕ(10):与 10 互质的数有 1,3,7,9,共 4 个。所以 ϕ(10)=4。
- ϕ(p):如果 p 是素数,除了它自己,比它小的都跟它互质,所以 ϕ(p)=p−1。
欧拉定理
这是费马小定理的威力加强版(通用版)。
定理描述
设 n 为大于 1 的正整数,若整数 a 与 n 互质(即 (a,n)=1),则:
aϕ(n)≡1(modn)
💡 核心直觉
不管模数 n 是什么,只要底数 a 和 n 互质,那么 a 的指数每经过 ϕ(n) 这么长,余数就会回到 1。
它的证明逻辑实际上是费马小定理证明的“完全推广版”。如果你看懂了刚才费马小定理的证明,这个证明的核心思路是一模一样的,只是把“1 到 p−1”换成了“与 n 互质的数”。
定理描述:
设 n 为正整数,若整数 a 与 n 互质(即 (a,n)=1),则:
aϕ(n)≡1(modn)
其中 ϕ(n) 是欧拉函数,表示 1 到 n 中与 n 互质的数的个数。
详细证明过程
第一步:构建“缩系”集合 (Reduced Residue System)
我们需要找到 1 到 n 之间所有与 n 互质的整数。
设这些数为 r1,r2,…,rϕ(n)。
我们将这个集合记为 R:
R={r1,r2,…,rϕ(n)}
- 性质:集合里共有 ϕ(n) 个数,且每一个都满足 (ri,n)=1。
第二步:构造变换集合
将集合 R 中的每一个数都乘以 a,得到一个新的集合 R′:
R′={ar1,ar2,…,arϕ(n)}
第三步:证明两个集合“模 n 同构”
我们需要证明 R′ 中的元素在模 n 意义下,仅仅是 R 中元素的重新排列。这需要验证两点:
-
互质性保持:
因为 (a,n)=1 且 (ri,n)=1,根据数论性质,它们的乘积也与 n 互质。
所以,ari 模 n 后的余数仍然在 R 集合中。
-
互不相同:
假设 R′ 中有两个元素模 n 相同:
ari≡arj(modn)
因为 (a,n)=1,根据同余消去律,我们可以消去 a:
ri≡rj(modn)
但在原集合 R 中,ri 和 rj 是原本就不同的两个数。
结论:R′ 中的 ϕ(n) 个元素在模 n 意义下互不相同。
推论:集合 R′ 的所有元素模 n 后的结果,刚好就是集合 R 的所有元素(顺序可能打乱)。
第四步:建立乘积等式
既然两个集合模 n 后包含相同的数字,那么它们所有元素的乘积也一定模 n 同余。
乘积(R′)≡乘积(R)(modn)代入具体的元素:
(ar1)⋅(ar2)⋯(arϕ(n))≡r1⋅r2⋯rϕ(n)(modn)
第五步:提取与消去
-
提取 a:
等式左边共有 ϕ(n) 个 a,我们将它们提取出来:
aϕ(n)⋅(r1r2⋯rϕ(n))≡(r1r2⋯rϕ(n))(modn)
-
令公共部分为 P:
设 P=r1r2⋯rϕ(n)。
等式变为:
aϕ(n)⋅P≡P(modn)
-
执行消去:
我们要消去两边的 P。能消去的前提是 (P,n)=1。
- 因为 R 集合中的每一个 ri 都与 n 互质。
- 所以它们的乘积 P 也必然与 n 互质。
根据同余消去律,两边同时消去 P,得到:
aϕ(n)≡1(modn)
证毕。
💡 核心逻辑链
- 找齐所有与 n 互质的数。
- 全部乘 a。
- 发现这堆新数模 n 后其实还是原来那堆数。
- 把两堆数乘起来划等号。
- 消掉公共的大尾巴,剩下的就是 aϕ(n)≡1。
两个定理的关系
费马小定理只是欧拉定理的一个特例。
- 欧拉定理说:周期是 ϕ(n)。
- 当 n 是素数 p 时:ϕ(p)=p−1。
- 代入公式就变成了费马小定理:ap−1≡1(modp)。
🚀 实际应用:降幂大法
这两个定理最强大的用处是简化超级大的指数。
计算 ab(modn) 时,我们可以把指数 b 对 ϕ(n) 取模,从而把巨大的 b 变小。
公式:
ab≡ab(modϕ(n))(modn)
总结
- 费马小定理:素数的特殊性质,周期是 p−1。
- 欧拉定理:任意整数的通用性质,周期是 ϕ(n)。
- 欧拉函数:计算互质数的个数,是两个定理的关键工具。
这两个定理不仅是数论的精华,也是现代密码学的数学基础。它们揭示了**“指数循环”**的规律,让我们能够在模运算中安全地处理大数。
一次同余方程
一次同余方程有解的充要条件
- 一次同余方程 ax≡b(modn) 有解的充要条件是 d∣b,其中 d=(a,n)。
- 一次同余方程 ax≡b(modn) 恰有 (a,n) 个解
证明过程
-
转化 (同余 → 等式)
- 根据同余定义,方程 ax≡b(modn) 等价于存在整数 y,使得:
- n∣(ax−b)⇒ax−ny=b
- 这将问题转化为二元一次不定方程(裴蜀等式形式)。
-
必要性 (⇒):若有解,则 d∣b,
设 d=(a,n),即 a,n 的最大公约数。
- 整除性质:
- ∵d∣a⇒d∣ax
- ∵d∣n⇒d∣ny
- 线性组合:
- ∴d∣(ax−ny)
- 代入:
- ∵ax−ny=b
- ∴d∣b
- 结论:如果方程有解,那么 b 必须是 (a,n) 的倍数。
-
充分性 (⇐):若 d∣b,则有解
- 引用裴蜀定理:
- 对于 d=(a,n),一定存在整数 s,t 使得:
- as+nt=d
- 扩大倍数:
- 因为已知 d∣b,设 b=k⋅d。
- 将上式两边同乘 k:
- a(sk)+n(tk)=k⋅d=b
- 构造解:
- 令 x=sk,上式变为:
- ax+n(tk)=b⇒ax−b=n(−tk)
- 即 n∣(ax−b)
- ∴x=sk 是方程的一个解。
总结
ax≡b(modn) 有解⟺(a,n)∣b