本来不想写。。太水了
第一种就是费马小定理,适用于p为质数且a不为p的倍数,则a的逆元就是 ap-2
我一般用的是exgcd,好想,不用考虑上面的限制
exgcd代码
long long exgcd(long long a,long long b,long long &x,long long &y)
{
if(b==0)
{
x=1,y=0;
return a;
}
ll t=exgcd(b,a%b,y,x);
y-=a/b*x;
return t;
}
long long a,mod;
int main()
{
scanf("%lld%lld",a,mod);
long long an,y;
long long gcd=exgcd(a,mod,an,y);//an是逆元 y定义一下就好了 gcd可以顺便求出
an=(an%mod+mod)%mod;//取模一下
printf("%lld",an);
return 0;
}