扩展欧几里得求逆元:

来源:互联网 发布:施耐德m258编程软件 编辑:程序博客网 时间:2024/06/05 19:26

int exgcd(int a,int b,int &x,int &y){    if(b==0){        x=1;        y=0;        return a;    }    int ans=exgcd(b,a%b,x,y);    int temp=x;    x=y;    y=temp-a/b*y;    return ans;}


//求逆元的模板,gcd1说明逆元不存在

int inverse(int a,int n){    int d,x,y;    d=exgcd(a,n,x,y);    return d==1?(x+n)%n:-1;}


0 0