什么是乘法逆元
当a和b很大时,求 (a/b)modm的值
注意: (a/b)modm不满足除法分配率,即(a/b)modm=(amodm)/(bmodm)
此时我们就要想办法将其转化为乘法,乘法可以用乘法分配律:
(a∗x)modm==(amodm)∗(xmodm)
而我们又知道 a/b=a∗b−1
那么就可以表示为:
(a∗b−1)modm=(amodm)∗(b−1modm)
那么现在这两个等式就是等价的:
那么我们就称x是b的逆元
记作如下:
x≡b−1(modm)
还有一种情况就是说我们不期望去做除法,因为得到的结果可能是小数,但是我们不需要有小数,我们就需要将其转化为乘法去运算,那么也需要通过逆元去做.
逆元满足什么性质

公式两边同乘b:

那么求逆元是干什么呢?就是说给我们一个b,让我们求一个x,满足b∗x≡1(modm)
写作:
因为我们上面已经证明了 x≡b−1(modm),所以我们这里只是进行了1一个替换而已.
那么现在问题就转化为了怎么求x.
方法:费马小定理

那么现在问题就转化为了怎么求bp−2
方法:快速幂

验证
b=3,p=5,请问 3x ≡ 1(mod p),即3乘谁的乘积 mod 5 的余数是1?
用费马定理解:
3p−2=35−2=33=27
27mod5=2
答案为2
即3×2 mod 5 =1