拓展尤拉定理求逆元以及費馬小定理求逆元的板子
阿新 • • 發佈:2018-11-08
//拓歐 void exgcd(long long a,long long b,long long &x,long long &y) { if(b == 0) { x = 1; d = a; y = 0; return ; } else { long long x0, y0; exgcd(b, a%b, x0, y0); x = y0; y = x0 - (a/b) * y0; } } long long inverse(long long a,long long b) { long long x = 0, y = 0; exgcd(a,b,x,y); return (x % b + b) %b; }//此處為中國剩餘定理裡面的。
費馬
long long mpow(int a,int b,int modd)
{
int rt = 1;
for( ; b; b >>= 1, a = (1ll * a * a)% modd)
{
if(b&1) rt = (1ll * rt * a) % modd;
}
return rt;
}
int ici = mpow(ci, mod[i] - 2, mod[i]);
a*x≡1(mod p)
a*x + p*y = 1;