乘法逆元
基于模运算和同余定理的知识(取模运算+同余定理)
定义:若ax≡1 mod p, 且gcd(a,p)=1(a与p互质),则称a关于1模p的乘法逆元为x。也可表示为ax≡1(mod p)。
当a与p互质时,a关于模p的乘法逆元有解。如果不互质,则无解。如果p为质数,则从1到p-1的任意数都与p互质,即在1到p-1之间都恰好有一个关于模p的乘法逆元。
比如5和14,易知5和14互质(公约数只有1的两个整数),那么可以求出5关于1模14的乘法逆元为3 。
百度中有:
求5关于模14的乘法逆元:
14=5*2+4
5=4*1+1
说明5与14互素,存在5关于14的乘法逆元。
1=5-4=5-(14-5*2)=5*3-14
因此,5关于模14的乘法逆元为3。
说一下乘法逆元的求法:
1.费马小定理求逆元:
费马小定理:假如 a是一个整数, p是一个质数,那么 ap − a 是p的倍数,可以表示为 ap ≡ a ( mod p ) ;
如果a不是p的倍数,这个定理也可以写成 ap-1 ≡ 1 ( mod p ) ;
由费马小定理 ap-1≡1(mod p) , 变形可以得到 a*ap-2≡1(mod p),那么,因为a*ap-2≡1(mod p)且a*x≡1(mod p),则x=ap-2(mod p),用快速幂可快速求之.
2.扩展欧几里得定理求逆元(具体看欧里几德定理及其扩展)
ax≡1 (mod p)即由此定理可得ax-yp=1.把y写成+的形式就是ax+py=1,为方便理解下面我们把p写成b就是ax+by=1。就表示x是a的模b乘法逆元,y是b的模a乘法逆元。然后就可以用扩展欧几里得求了。