模运算

来源:互联网 发布:网络监控交换机连接 编辑:程序博客网 时间:2024/05/24 16:15

“模”是“Mod”的音译,模运算多应用于程序编写中。Mod的含义为求余,用符号“%”表示模运算。
例:3 % 2 = 1,4 % 2 = 0。
A mod B=A - (A div B) * B , (div为整除)

基本概念

给定一个正整数p,任意一个整数n,一定存在等式n = k*p+r
其中p、r是整数,且0≤r<p,称k为n除以p的商,r为n除以p的余数。

对于正整数p和正数a、b,定义如下运算:
1.取模运算:a % p(或a mod p),表示a除以p的余数。
2.模p加法:(a + b) % p,其结果是a+b算术和除以p的余数。
3.模p减法:(a - b) % p ,其结果是a-b算术差除以p的余数。
4.模p乘法:(a * b) % p,其结果是a*b算术乘法除以p的余数。
5.同余式:正整数a,b对p取模,它们的余数相同,记做 a ≡ b % p或者a ≡ b (mod p)。
6.n % p得到结果的正负由被除数n决定,与p无关。
例如:7%4 = 3,-7%4 = -3,7%-4 = 3,-7%-4 = -3

基本性质

1.若 p | (a - b)(注:a - b可被p整除),则 a ≡ b (mod p)。例如 11 ≡ 4 (% 7),18 ≡ 4 (% 7)
2. (a % p) = (b % p) 意味 a ≡ b (% p)
3. 对称性:a ≡ b (% p) 等价于 b ≡ a (% p)
4. 传递性:若 a ≡ b (% p) 且 b ≡ c (% p) ,则 a ≡ c (% p)

运算规则

1.(a + b) % p = (a % p + b % p) % p
2.(a - b) % p = (a % p - b % p) % p
3.(a * b) % p = (a % p * b % p) % p   
4.a ^ b % p = ((a % p)^b) % p

结合率:
((a+b) % p + c) % p = (a + (b+c) % p) % p
((a*b) % p * c)% p = (a * (b*c) % p) % p

交换率:
(a + b) % p = (b+a) % p
(a * b) % p = (b * a) % p

分配率:
((a +b)% p * c) % p = ((a * c) % p + (b * c) % p) % p

重要定理

1.若a≡b (% p),则对于任意的c,都有(a + c) ≡ (b + c) (%p) 
2. 若a≡b (% p),则对于任意的c,都有(a * c) ≡ (b * c) (%p)
3. 若a≡b (% p),c≡d (% p)
则 (a + c) ≡ (b + d) (%p),(a - c) ≡ (b - d) (%p),(a * c) ≡ (b * d) (%p),(a / c) ≡ (b / d) (%p)
4. 若a≡b (% p),则对于任意的c,都有a^c≡ b^c (%p)

原创粉丝点击