如何简化模数

时间:2013-10-08 19:25:25

标签: math numbers modulo

我试图找到表达式的模数。我所知道的只是

(a+b) mod N = ((a mod N) + (b mod N)) mod N

如何使用它来简化以下模运算?

(a - 2*b + 1) mod N

必须有一些方法可以通过将其视为

来简化它
(a - b - b + 1) mod N ?

编辑:

我偶然发现了以下财产:

ab mod N = ((a mod N) (b mod N)) mod N

这会有所帮助吗?

2 个答案:

答案 0 :(得分:1)

遗憾的是,无法简化(b*-2 + a + 1) % n

答案 1 :(得分:1)

如果:(a+b) mod N = ((a mod N) + (b mod N)) mod N

然后:

(a - 2*b + 1) mod N = ((a mod N) - (b mod N) - (b mod N) + (1 mod N)) mod N

对于较大的a和b值以及较小的N值,它更简单。

例如:a = 85773,b = 77733340,N = 5: 你宁愿解决哪个

(85773 - 77733340 - 77733340 + 1) mod 5

((85773 mod 5) - (77733340 mod 5) - (77733340 mod 5) + (1 mod 5)) mod 5

对于第二个我得到(3 - 0 - 0 + 1) % 5 = 4