乘法逆元模板

void extend_gcd(ll a,ll b,ll &d,ll &x,ll &y)
{
	if (b==0){x=1;y=0;d=a;return;}
	else {extend_gcd(b,a%b,d,y,x);y-=a/b*x;return;}
}
ll mod_reverse(ll a,ll n)//a模n的乘法逆元
{
	ll x,y,d;
	extend_gcd(a,n,d,x,y);
	if (d==1) return (x%n+n)%n;
	else return -1; 
}

你可能感兴趣的:(乘法逆元模板)