long long inv(long long a,long long m)
{
return a==1?1:(m-m/a)*inv(m%a,m)%m;
}
上面 是 求 ax =_ 1 %m 的 逆元
求gcd 的 模板 递归实现
int gcd(int a,int b)
{
return b==0?a :b%a;
}
非 递归实现
int a,b,t;
while(b!=0)
{
t=a;
a=b;
b=t%b;
}
}
快速幂取模运算
long long quick_mod(long long a,long long b,long long m)
{
iong long ans=1;
while(b)
{
if(b&1)
ans=(ans*a)%m;
b>>=1;
a=(a*a)%m;
}
}