逆元(费马定理)

费马小定理
定义
如果p是一个 质数,而 整数 a不是p的倍数,则有a^(p-1)≡1(mod p)
对于任意整数 a,有 a^p = a (mod p)。
因为 ax = 1 mod b;

a^(b-1) = 1 mod b(根据 费马小定理);

所以 x =a^{b-2} mod b。

如果取模的数是质数,可以用费马小定理求逆元
int qmi(int a, int k, int p) // 快速幂模板
{
int res = 1;
while (k)
{
if (k & 1) res = (LL)res * a % p;
a = (LL)a * a % p;
k >>= 1;
}
return res;
}

int main(){

int res=qmi(a,p-2,p);
if(a%p) printf("%d",res);
else printf("impossible");
}

posted on   下头小美  阅读(19)  评论(0编辑  收藏  举报

点击右上角即可分享
微信分享提示