这个定理告诉我们,模 m 的同余式在加法、减法和乘法运算下表现良好。换句话说,你可以在模系统中执行这些算术运算,而不会影响同余关系。
让我们分解一下每一部分的意思以及它为什么重要:
a′+b′≡a+b(mod m): 如果 a' 同余于 a (mod m),且 b' 同余于 b (mod m),那么 a' 和 b' 的和同余于 a 和 b 的和 (mod m)。
例子: 设 m = 5。如果 a = 7 且 a' = 12(都同余于 2 mod 5),且 b = 3 且 b' = 8(都同余于 3 mod 5),那么 a + b = 10 且 a' + b' = 20。10 和 20 都同余于 0 (mod 5)。
a′−b′≡a−b(mod m): 类似于加法,如果 a' 同余于 a (mod m),且 b' 同余于 b (mod m),那么 a' 和 b' 的差同余于 a 和 b 的差 (mod m)。
例子: 设 m = 5。使用和上面相同的值,a - b = 4 且 a' - b' = 4。两者都同余于 4 (mod 5)。注意,即使减法得到一个负数,同余关系仍然成立(你可能需要加上 m 的倍数来得到一个正的代表)。
a′b′≡ab(mod m): 这也许是最重要的部分。如果 a' 同余于 a (mod m),且 b' 同余于 b (mod m),那么 a' 和 b' 的积同余于 a 和 b 的积 (mod m)。
例子: 设 m = 5。再次使用相同的值,a * b = 21 且 a' * b' = 96。两者都同余于 1 (mod 5)。
为什么这个定理重要?
这个定理是模算术的基础。它允许我们像处理普通等式一样进行同余运算(有一些注意事项)。这在以下领域至关重要:
本质上,它通过允许我们替换同余数而不改变最终结果(模 m)来简化同余运算。
https://gist.github.com/viadean/fd1b426e9bf652ec6dc3e1aece7613dc
解释和主要改进:
%
运算符(模)被一致地使用,以确保所有计算都在模 m 系统中完成。这对于正确性至关重要。a_prime % m == a % m and b_prime % m == b % m
。如果此条件不满足,则函数会打印一条消息并返回 False
,表明定理的前提不成立。这对于通过代码进行正确的“证明”非常重要。print
语句清楚地显示了计算和同余检查的结果,使得跟踪发生的事情变得容易。True
,否则返回 False
。这允许你在更复杂的逻辑中使用这些函数。3 % 7
的计算结果为 3,因此同余式被认为是成立的。