模反
- 直观理解:钟表算术
想象一下一个只有 12 个小时的钟表(这就是一个 模 12 的系统)。
· 如果现在是早上 10 点,那么 6 小时后 是几点?
· 10 + 6 = 16。
· 但钟面上没有 16 点,所以我们会数:16 - 12 = 4 点。
· 如果现在是晚上 11 点,那么 4 小时后 是几点?
· 11 + 4 = 15。
· 15 - 12 = 3 点(第二天凌晨)。
在这种算术里,我们关心的是除以12后的余数。这就是模运算的核心思想。
“mod” 就是 “modulo” 的缩写,意思是 “模”。a ≡ b (mod m) 的完整读法是 “a 与 b 在模 m 下同余”。
- 正式定义
对于整数 a、b 和一个正整数 m(模数),如果 a - b 能被 m 整除(即 a - b 是 m 的整数倍),那么我们就说 a 和 b 在模 m 下同余。
记作: a ≡ b (mod m)
这等价于说: a ÷ m 和 b ÷ m 的余数相等。
例子 1:模 7 (mod 7)
· 15 ≡ 1 (mod 7) 对吗?
· 因为 15 - 1 = 14,而 14 ÷ 7 = 2,正好整除。
· 或者看余数:15 ÷ 7 = 2 余 1;1 ÷ 7 = 0 余 1。余数相同(都是1)。
· 所以成立。
· 20 ≡ 6 (mod 7) 对吗?
· 因为 20 - 6 = 14,14 ÷ 7 = 2,整除。
· 或者看余数:20 ÷ 7 = 2 余 6;6 ÷ 7 = 0 余 6。余数相同。
· 所以成立。
例子 2:模 5 (mod 5)
在模 5 的世界里,所有整数都可以被归类到 5 个“盒子”里,每个盒子对应一个余数(0, 1, 2, 3, 4):
· 余数为 0 的盒子:{…, -10, -5, 0, 5, 10, 15, …} 它们都满足 ≡ 0 (mod 5)
· 余数为 1 的盒子:{…, -9, -4, 1, 6, 11, 16, …} 它们都满足 ≡ 1 (mod 5)
· 余数为 2 的盒子:{…, -8, -3, 2, 7, 12, 17, …} 它们都满足 ≡ 2 (mod 5)
· …以此类推。
所以,17 和 -3 看起来毫不相干,但在模 5 下,它们是“一家人”(同余),因为 17 ≡ -3 ≡ 2 (mod 5)。
- 模运算的规则
模运算像普通算术一样,可以进行加、减、乘。
如果 a ≡ b (mod m) 且 c ≡ d (mod m),那么:
a + c ≡ b + d (mod m)
a - c ≡ b - d (mod m)
a × c ≡ b × d (mod m)
重要提示:除法在模运算中不直接适用,它被一种更复杂的概念所取代,即我们之前讨论的 “模反元素”。
计算例子:模 7 下的计算
计算 (5 + 3 × 4) mod 7。
· 方法一(先算后模):
· 先普通计算:5 + 3 × 4 = 5 + 12 = 17
· 再取模:17 ÷ 7 = 2 余 3。所以结果是 3。
· 方法二(边算边模,更高效):
· 先计算乘法部分:3 × 4 = 12。12 mod 7 = 5。
· 再计算加法:5 + 5 = 10。
· 最后取模:10 mod 7 = 3。
· 结果是相同的。
为什么模运算 (mod m) 如此重要?
密码学的基础:最著名的公钥加密算法 RSA,其安全性完全建立在模运算(对极大质数取模)的数学难题之上。你的每一次安全网页浏览(HTTPS)背后都有模运算的功劳。
计算机科学:计算机使用二进制,其底层处理能力天然适合模运算(例如,奇偶校验就是模 2 运算)。哈希表、校验和(如ISBN、信用卡号)都依赖模运算来快速计算和查错。
时间表示:12小时制或24小时制就是最典型的模 12 和模 24 系统。
音乐理论:十二平均律音阶在数学上是一个模 12 的系统。
总结
· (mod m) 定义了一个有限的算术系统,就像一个有 m 个数字的钟表。
· a ≡ b (mod m) 意味着 a 和 b 除以 m 后得到的 余数相同。
· 它的核心是 分类,将无穷的整数集按余数归类到 m 个类别中。
· 它是现代密码学和计算机科学中不可或缺的数学工具。

