定义
每个数a都有与其对应的乘法逆元x,使得ax≡1(modn)
有逆元的充要条件为:gcd(a,n)=1
定义:对于正整数a,n。如果有ax≡1(modn)称x最小整数解为a模n的逆元
用途1.求大数乘法取模
bamodp=(a∗k)modp其中k为b关于p的乘法逆元。
应用:a或b很大,会暴精度时使用。
证明:b∗k≡1(modp),b∗k=p∗x+1,k=bp∗x+1
将k带入(a∗k)modp得:ba∗p∗x+amodp=ba∗p∗xmodp+bamodp
=0+bamodp=bamodp
证毕。\
逆元的求法
1.暴力遍历
给定模m,要求逆元的元素x.遍历1-m-1.寻找是否有元素满足。
2.扩展欧几里得算法
给定模m,求a的逆元相当于ax≡1modm.方程可转换为ax−my=1。
套用二元一次方程的解法。用扩展欧几里得算法求得X0,Y0,和gcd。gcd不为1说明逆元不存在。
python模板
def exgcd(a, b):
global x, y
if b == 0:
x, y = 1, 0
return a
d = exgcd(b, a % b)
x, y = y, x
y -= (a // b) * x
return d