定义:
就是一个数的倒数,那为什么要求一个数的倒数:比如a/b这个时候b的值特别大,就是导致double精度不够所以我们要将a/b换成a*c,其中c^-1=b.
【费马小定理求解逆元】:(易知费马定理是有限制的:a与p要互质) (有关费马小定理)
代码实现:(精华就是快速幂)
long long quickpow(long long a,long long b,long long p) //快速幂
{
if(b<0)
return 0;
long long ret=1;
a%=p; // 例如:29^25=7^25 %11
while(b)
{
if(b & 1 )
ret = ( (ret % p) * (a% p) ) % p
b>>=1;
a = ((a% p) * (a% p))% p;
}
return ret;
}
long long inv(long long a, long long p) //求a的逆元(费马小定理)
{
return quickpow(a,p-2);
}