逆元讲课
乘法逆元
关于乘法逆元
对于两个数a,p若gcd(a,p)=1则一定存在另一个数b,使得ab ≡ 1( modp ),并称此时的b为a关于1模p的乘法逆元。我们记此时的b为inv(a)或 a -1
举个例子:
5×3 ≡ 1( mod14 ) 我们称此时的3为5关于1模14的乘法逆元。
费马小定理
假如p是质数,且gcd(a,p) = 1,那么 a^(p-1) ≡ 1 (mod p)。即:假如a是整数,p是质数,那么a的(p-1)次方除以p的余数恒等于1.
然后结合逆元的定义,就可以得到 a × a^(p-2) ≡ 1 (mod p)也就是说 a的p-2次方就是a的逆元。
1 | typedef long long ll; |
扩展欧几里得
ax+by=1
a和p互质 (gcd = 1)
1 | void exgcd(int a, int p, int &x, int &y) |
关于除法逆元
转换为乘法逆元
a/b mod m = a * k mod m
k = inv(b)
b*k ≡ 1(mod m)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Sky的博客!