我可以在扩展 (a + b) % k 时忽略最后一个 k 吗?
Can I ignore the last k while expanding (a + b) % k?
今天我试图解决一个涉及模运算的问题。我无法解决它。所以我在 Geeks for Geeks
上查找了它
上图展示了作者的所作所为。我知道两个数的模加法
(a + b) % m = (a % m + b % m) % m
这适用于 a 和 b
的任何正值
当我考虑作者在图片中使用的等式时。
a % k + b % k = 0
我用 a 、 b 和 k 替换了一些随机值,看看它是否真的有效。事实证明,输入值 a = 2、b = 5 和 k = 7.
失败
2%7+5%7=7≠0
当我考虑最后一个方程时。成功了。
b % k = (k - a % k) % k
(5 % 7) = (7 - 2 % 7) % 7
5 % 7 = 5 % 7
(a + b) % k = c
当我用和作者一样的思路求解上面的方程时,得到了
(a + b) % k = c
a % k + b % k = c
b % k = (c - a % k + k) % k
它适用于 a、b、c 和 k
的任何正值
等式中,
(a + b) % k = (a % k + b % k) % k
我可以忽略最后一个 k 并继续扩展 (a + b) % k 吗?我想知道最后 k 的缺席如何不影响最终结果
不是,a = b = 0
是反例
确实,最后的公式是错误的,假设%
表示截断除法的余数。让a = 1
和b = -1
。 (在 Python 中,或者对于非负整数,没问题。)
这就是为什么数学家更喜欢处理等价 mod K
,这避免了 mod 运算符放在哪里的问题。
今天我试图解决一个涉及模运算的问题。我无法解决它。所以我在 Geeks for Geeks
上查找了它上图展示了作者的所作所为。我知道两个数的模加法
(a + b) % m = (a % m + b % m) % m
这适用于 a 和 b
的任何正值当我考虑作者在图片中使用的等式时。
a % k + b % k = 0
我用 a 、 b 和 k 替换了一些随机值,看看它是否真的有效。事实证明,输入值 a = 2、b = 5 和 k = 7.
失败2%7+5%7=7≠0
当我考虑最后一个方程时。成功了。
b % k = (k - a % k) % k
(5 % 7) = (7 - 2 % 7) % 7
5 % 7 = 5 % 7
(a + b) % k = c
当我用和作者一样的思路求解上面的方程时,得到了
(a + b) % k = c
a % k + b % k = c
b % k = (c - a % k + k) % k
它适用于 a、b、c 和 k
的任何正值等式中,
(a + b) % k = (a % k + b % k) % k
我可以忽略最后一个 k 并继续扩展 (a + b) % k 吗?我想知道最后 k 的缺席如何不影响最终结果
不是,a = b = 0
是反例
确实,最后的公式是错误的,假设%
表示截断除法的余数。让a = 1
和b = -1
。 (在 Python 中,或者对于非负整数,没问题。)
这就是为什么数学家更喜欢处理等价 mod K
,这避免了 mod 运算符放在哪里的问题。