若a * x 1 (mod b), a, b互质,则称x为a的逆元, 逆元也可以写成
。
(t/a) mod b = t * x mod b.
求逆元的方法:
1.EXGCD
a * x 1 (mod b) ——> a * x + b * y = 1。用扩展欧几里得求解得到x的值即可。
int exgcd(int a, int b, int &x, int &y){
if(b == 0){
x = 1;
y = 0;
return a;
}
int k = exgcd(b, a % b, x, y);
h = x;
x = y;
y = h - (a / b) * y;
return k;
}
2.费马小定理
如果p为质数,
a *