逆元(费马定理)

费马小定理
定义
如果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 2025-01-10 21:22  下头小美  阅读(29)  评论(0)    收藏  举报