欧几里得
LL gcd(LL a,LL b){
if(!b) return a;
return gcd(b,a%b);
}
扩展欧几里得
有解的充要条件是
解方程:
求a的乘法逆元
等价于
即
void exgcd(LL a,LL b,LL &x,LL &y){
if(!b){x=1; y=0; return ;}
exgcd(b,a%b,x,y);
LL t=x; x=y; y=t-a/b*y;
}
lucas定理