有关模运算
(a+b)%p=(a%p+b%p)%p
(a-b)%p=(a%p-b%p)%p
(a*b)%p=(a%p * b%p)%p
(a^b)%p=((a%p) ^b)%p
((a + b) % p * c) % p = ((a * c) % p + (b * c) % p
(a/b)%p=(a%p/b%p)%p是错误的,那么我们应该如何表示除法呢
n%p的正负结果,只由被除数n来决定,与p无关
7%4=3,-7%4=-3,-7%-4=-3
若 a ≡ b (mod p),则对于任意的 c,都有(a + c) ≡ (b + c) (mod p)
若 a ≡ b (mod p),则对于任意的 c,都有(a * c) ≡ (b * c) (mod p)
若 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)
(a / c) ≡ (b / d) (mod p)
定义
若在modp意义下,对于一个整数a,有a*x≡1(mod)p,那么这个整数x即为a的乘法逆元,同时a也是x的乘法逆元
同余式:a≡b(mod n)表示a与b模n同余,即正整数a-b能被n整除
充要条件
a存在模p的乘法逆元的充要条件是gcd(a,p)=1,即a与p互质。
应用:(a/b)%p等同于a*(b的逆元)%p
求解逆元
费马小定理(p为质数),扩展欧几里得,线性递推
费马小定理:假如a是一个整数,p是一个质数,那么
1.如果a是p的倍数,a^p≡a(mod)p
2.如果a不是p的倍数,a^(p-1)≡1(mod p).由于竞赛中p常用质数,所以第二条用的比较多 .a*a ^(p-2)≡1(mod p),写成等式即为a%p *(a ^p-2%p)=1%p