中国剩余定理模板

来源:互联网 发布:桃园机场免税店mac 编辑:程序博客网 时间:2024/04/28 17:18
void ext_gcd(int a,int b,int &d,int &x,int &y){    if(!b)    {        x=1;y=0;d=a;        return ;    }    else    {        ext_gcd(b,a%b,d,y,x);        y-=a/b*x;    }}int a[100],m[100],M;///x=a[i](mod m[i])int China(int r){    M=1;    for(int i=1;i<=r;i++) M*=m[i];    int ans=0;    for(int i=1;i<=r;i++){        int Mi=M/m[i],d,x0,y0;        ext_gcd(Mi,m[i],d,x0,y0);        ans=(ans+x0*a[i]*Mi)%M;    }    ans=(ans%M+M)%M;    return ans;}


原创粉丝点击