【笔记】模运算

//参考:模运算_百度百科

一、概念:对于一个数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 )

posted @ 2018-06-08 22:45  dprswdr  阅读(1005)  评论(0编辑  收藏  举报