[学习笔记]同余 EXGCD 扩展欧几里得

(本篇并不适合初学者看)

1.定义:

如果a%m=b%m,则称a,b关于m同余,记作:a≡b mod m

2.费马小定理/欧拉定理

费马小定理:若p是质数,对于任何整数a,有a^p = a mod p

欧拉定理:若a,p互质,有a^phi(p) = 1 mod p

欧拉定理的推论:

a^b= a^(b mod phi (p)) mod p

支持了对指数取模。注意,如果预处理的组合数位于指数位置,要对phi(p)取模,而不是p

3.扩展欧几里得算法

裴属定理:存在x,y使得a*x+b*y=gcd(a,b)

证明:

欧几里得算法最后一步:b=0,a=gcd,显然x=1,y=0是一组x,y的解。

然后有:gcd(a,b)=gcd(b,a%b)

所以,a*x'+b*y'=b*x+(a%b)*y=b*x+(a-[a/b]*b)*y=a*y+(x-[a/b]*y)*b

所以,令x'=y,y'=(x-[a/b]*y)就是一组解。

根据数学归纳法,最后有解,然后可以往上构造。

所以,存在x,y

证毕。

也给出了x,y的求法。

扩展欧几里得就是干这个的。EXGCD 扩展欧几里得

4.乘法逆元

如果a,p互质,那么存在一个b,使得a*b=1 mod p

这个b就是a在mod p意义下的乘法逆元。记作a^(-1) mod p

于是,c/a=c*a^(-1) mod p

可以支持

5.线性同余方程

6.高次同余方程

猜你喜欢

转载自www.cnblogs.com/Miracevin/p/9721234.html