三、费马小定理
假如p是质数,且gcd(a,p)=1,那么 a(p-1)≡1(mod p)
如果求解 a / b mod m 求 b 的模m乘法逆元,若b , m互质
则 k* b mod m = 1 且 b ^ (m-1) mod m = 1 所以 k* b = b ^ (m-1)
可直接得出b的模m乘法逆元为 b ^ (m-2)
在算法中常模1e9+7为质数,可用费马小定理转换。
#define inv(x) fast_pow(x,mod-2)
int fast_pow(int x,int k)
{
if(k==0) return 1;
if(k==1) return x%mod;
int ans=fast_pow(x,k>>1);
ans=(lint)ans*ans%mod;
if(k&1) ans=(lint)ans*x%mod;
return ans;
}