逆元模板

来源:互联网 发布:mysql数据库服务器 编辑:程序博客网 时间:2024/06/06 20:29
long long extend_gcd(long long a,long long b,long long &x,long long &y){    if(a==0&&b==0) return -1;    if(b==0){x=1;y=0;return a;}    long long d=extend_gcd(b,a%b,y,x);    y-=a/b*x;    return d;}long long mod_rev(long long a,long long n){    long long x,y;    long long d=extend_gcd(a,n,x,y);    if(d==1) return (x%n+n)%n;    else return -1;}

第二种

int qmul(int a,int b){int ans=1;a%=p;for(;b;b>>=1,a=a*a%p)if(b&1)ans=ans*a%p;return ans;}int inv(int x){return qmul(x,p-2);}


0 0
原创粉丝点击