• 模板


    同余方程 ax+by=c 有解,等价于 c=kg。当扩展欧几里得用于求逆元时只需要a和m互质。(求逆元即c=1,由前面知c是g的倍数,故g=1)

    //扩展欧几里得算法:返回 g=gcd(a,b) ,以及对应的等式 ax+by=g 的解
    ll exgcd(ll a,ll b,ll &x,ll &y) {
        if(!a&&!b)
            return -1;
        if(!b) {
            x=1,y=0;
            return a;
        }
        ll d=exgcd(b,a%b,y,x);
        y-=a/b*x;
        return d;
    }
    
    //扩展欧几里得算法求逆元,只要求 a,m 互质
    ll inv2(ll a,ll m) {
        ll x,y;
        ll d=exgcd(a,m,x,y);
        if(d==1)
            return (x%m+m)%m;
        return -1;
    }
  • 相关阅读:
    alpha冲刺9
    alpha冲刺8
    alpha冲刺7
    alpha冲6
    随堂小测-同学录
    alpha冲刺5
    任务3
    任务2
    任务1
    网站用户行为分析
  • 原文地址:https://www.cnblogs.com/Yinku/p/10534106.html
Copyright © 2020-2023  润新知