邝斌的ACM模板(扩展欧几里得算法(求 ax+by=gcd 的解以及逆元素))

来源:互联网 发布:阿里云系统的手机 编辑:程序博客网 时间:2024/05/21 00:15

本博客整理自邝斌的ACM模板
2.3、扩展欧几里得算法(求 ax+by=gcd 的解以及逆元素)

//******************************//返回d=gcd(a,b);和对应于等式ax+by=d中的x,ylong 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;}//*********求逆元素*******************//ax = 1(mod n)long long mod_reverse(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;}
阅读全文
1 0
原创粉丝点击