//参考:模运算_百度百科
一、概念:对于一个数n,给定一个数p,一定存在等式 n = k * p + r ,其中k、r是整数,且0 ≤ r <p。
则称k为n除以p的商,r为n除以p的余数,即 n / p = k (/为整除),n % p = r(%、mod为模运算)。
->注意:
1、若a % p = b % p,则a与b同余,记为a ≡ b % p,或a ≡ b ( mod p )。
2、模运算的结果的正负取决于被除数n,与除数p无关。例:7 % 4 = 3 , 7 % -4 = 3 ,-7 % 4 = -3 ,-7 % -4 = -3。
二、性质:
1、若p|( a - b ) ( p 是 a - b 的约数 ),则 a ≡ b ( mod p )。
2、对称性:a ≡ b ( mod p ) <=> b ≡ a ( mod p )。
3、传递性:若a ≡ b ( mod p ) 且 b ≡ c ( mod p ),则 a ≡ c ( mod p )。
三、运算法则:
加法:( a + b ) % p = ( a % p + b % p ) % p
减法:( a - b ) % p = ( a % p - b % p + p ) % p
->可以处理一些要求模的结果必须为正数的题目,将负的结果加上模数p后再次取模。
乘法:( a * b ) % p = ( a % p * b % p ) % p
模运算没有除法!!!
乘方:( a^b ) % p = ( ( a % p )^b ) % p
四、运算律:
1、交换律:
( a + b ) % p = ( b + a ) % p
( a * b ) % p = ( b * a ) % p
2、结合律:
(( a + b ) % p + c ) % p = ( a + ( b + c ) % p ) % p
(( a * b ) % p * c ) % p = ( a * b * c ) % p
3、分配律:
(( a + b ) % p * c ) % p = (( a * c ) % p + ( b * c ) % p ) % p
五、定理:
1、若 a ≡ b ( mod p ), 则对于任意c,都有 ( a + c ) ≡ ( b + c ) ( mod p ) , ( a * c ) ≡ ( b * c ) ( mod p )。
2、若 a ≡ b ( mod p ) , c ≡ d ( mod p ),则 ( a + c ) ≡ ( b + d ) ( mod p ),( a - c ) ≡ ( b - d ) ( mod p ),( a * c ) ≡ ( b * d ) ( mod p )