Lecture 09: Modular Arithmetic
MIT 6.1200J Mathematics for Computer Science, Spring 2024
1. 模运算的直觉
模运算的核心思想:忽略
| 场景 | 模数 |
|---|---|
| 奇偶性 | 2 |
| 星期几 | 7 |
| 数字末位 | 10 |
| 时钟(12小时) | 12 |
Example. 现在是周二,100 天后是星期几?
2. 同余关系 (Congruence)
Definition. 称
同余于 模 (a is congruent to b mod n),记作 ,当且仅当 。
等价刻画:
Theorem.
。
Proof. 若余数相同均为
剩余类(residue classes / equivalence classes): 模
示例(模 5):
[0] = { ..., -10, -5, 0, 5, 10, ... }
[1] = { ..., -9, -4, 1, 6, 11, ... }
[2] = { ..., -8, -3, 2, 7, 12, ... }
[3] = { ..., -7, -2, 3, 8, 13, ... }
[4] = { ..., -6, -1, 4, 9, 14, ... }3. 符号说明
| 写法 | 含义 | 类型 |
|---|---|---|
a rem n / a mod n | 函数,单一确定值 | |
| 关系,双方无需在 |
注意: 不同编程语言对负数取模行为不同。本课始终使用非负余数定义(Python / Mathematica 约定)。例:
,而非 。
4. 模运算的代数性质
Theorem. 若
,则对任意 :
Proof. 每条均由
Theorem. 若
,则对任意 , 。
Proof(归纳): Base case
警告: 指数本身不能随意对
取模。例: ,但 。
Example. 求
- 底数:
,进一步 , , , ,…(在 25 和 75 间交替), 。 - 指数中:
,故 ,即括号内 。 - 故
。
5. 模意义下的除法与逆元
5.1 乘法逆元 (Multiplicative Inverse)
Definition.
模 的乘法逆元是满足 的整数 ,记作 。
Theorem.
有模 的逆元 (即 与 互质)。
Proof.
Corollary. 若
是质数且 ,则 有模 的逆元。
求逆元的方法: 用 Pulverizer(扩展欧几里得算法)。
Example.
解方程
5.2 注意:不能随便"约分"
若
例:
6. Fermat 小定理 (Fermat's Little Theorem)
Theorem (FLT). 若
为质数且 ,则 。
Proof. 考虑集合
- 无一为
(因 , 是质数); - 无两个相同(若
,则因 有逆元, ,但 无重复)。
故此集合模
因
推论: 模质数
7. 应用
7.1 整除 9 的判断法
Theorem.
被 9 整除 的各位数字之和被 9 整除。
Proof. 设
7.2 ISBN 校验码
ISBN-10:
- 模数 11 是质数,
,故 总有唯一解(由前 9 位确定)。 - 可证:单个数字出错或相邻两位互换,校验均失败。
7.3 奇偶校验 (Parity)
简单 RAID 思路:存
8. 关键术语速查
| 英文 | 中文 |
|---|---|
| Congruence | 同余 |
| Residue / Remainder | 余数 |
| Residue class / Equivalence class | 剩余类 / 等价类 |
| Modular arithmetic | 模运算 / 模算术 |
| Multiplicative inverse | 乘法逆元 |
| Coprime | 互质 |
| Fermat's Little Theorem (FLT) | Fermat 小定理 |
| Parity | 奇偶性 |
| ISBN checksum | ISBN 校验码 |