美文网首页
CRT中国剩余定理

CRT中国剩余定理

作者: 1QzUPm_09F | 来源:发表于2017-08-07 12:25 被阅读0次

特别版(除数两两互质)

void ex_gcd(int a, int b, int &x, int &y)
{
    if(b==0)
    {
        x=1;
        y=0;
        return ;
    }
    else
    {
        int x1, y1;
        ex_gcd(b, a%b, x1, y1);
        if(a*b<0)
        {
            x=-y1;
            y=a/b*y1-x1;
        }
        else
        {
            x=y1;
            y=x1-a/b*y1;
        }
    }
}

ll CRT(int a[], int m[], int len)//a[ ]余数,m[ ]除数
{
    int N[10];
    int lca=1;
    int res=0;
    for(int i=0; i<len; i++)
        lca*=m[i];
    for(int i=0; i<len; i++)
    {
        int L, J;
        ex_gcd(lca/m[i], -m[i], L, J);
        N[i]=J*m[i]+1;
        res+=N[i]*a[i];
    }
    return (res%lca+lca)%lca;
}

普通版(任意情况)
两两合并变成互质情况。

void exgcd(ll a, ll b, ll &x, ll &y)
{
    if(b==0)
    {
        x=1;
        y=0;
        return ;
    }
    exgcd(b, a%b, x, y);
    ll t=x;
    x=y;
    y=t-(a/b)*y;
    return ;
}

ll CRT(int n)
{
    ll c, d, x, y;
    ll M=m[1], R=r[1];
    for(int i=2; i<=n; i++)
    {
        d=gcd(M, m[i]);
        c=r[i]-R;
        if(c%d) return -1;
        exgcd(M/d, m[i]/d, x, y);
        x=(c/d*x)%(m[i]/d);
        R=R+x*M;
        M=M/d*m[i];
        R%=M;
    }
    if(R<0) R+=M;
    return R;
}

相关文章

  • CRT中国剩余定理

    特别版(除数两两互质) 普通版(任意情况)两两合并变成互质情况。

  • 中国剩余定理(CRT)

    在《孙子算经》中有这样一个问题:“今有物不知其数,三三数之剩二(除以3余2),五五数之剩三(除以5余3),七七数之...

  • Python解中国剩余定理(孙子定理)

    中国剩余定理(Chinese Remainder Theorem,CRT)又称孙子定理,是数论中的一个定理。古典数...

  • 中国剩余定理

    昨天下午同事给我出了一到题目: 一筐鸡蛋,1个1个拿,拿完;2个2个拿,剩余1个;3个3个拿,拿完;4个4个拿,剩...

  • 中国剩余定理

    中国剩余定理给出了求解模数两两互质的线性同余方程组的一个特解。设是两两互质的整数,,,是线性同余方程的一个解。对于...

  • 中国剩余定理

    用中国剩余定理求解同于式组 / x≡b1 (mod m1)| x≡b2 (mod m2)| x≡b3 (mod m...

  • 中国剩余定理

    下表由本人制作,与上表字符含义不同,切勿混淆

  • 中国剩余定理

    表述 设为互素的整数,b与c为任意整数。那么同余式组:恰好有一个解。 证明 等价于,带入得。根据线性同余式定理,上...

  • 产品经理数学课(3)

    关键词:剩余,同余定理,数论,hash 参考:杨迎球,中国剩余定理与同余式组,[D]安顺学院数学与计算机科学系,2...

  • 古老的数学剩余定理,汪氏解法。

    从2013年开始书面上看到几排文字介绍中国数学家跟剩余定理的故事开始。我认定自己也会在剩余定理的研究里越走越远,个...

网友评论

      本文标题:CRT中国剩余定理

      本文链接:https://www.haomeiwen.com/subject/ntnolxtx.html