8 中国剩余定理

百度百科:

中国剩余定理给出了以下的一元线性同余方程组:

中国剩余定理1

中国剩余定理说明:假设整数m1,m2, ... ,mn两两互质,则对任意的整数:a1,a2, ... ,an,

 方程组(S)

有解,并且通解可以用如下方式构造得到:

 中国剩余定理2

是整数m1,m2, ... ,mn的乘积,并设

 中国剩余定理3

扫描二维码关注公众号,回复: 2449861 查看本文章

是除了mi以外的n- 1个整数的乘积。

 中国剩余定理4

这个就是逆元了

 中国剩余定理5 

通解形式为

 中国剩余定理6 

在模M的意义下,方程组(S)只有一个解:

 中国剩余定理7

代码:

//n个方程:x=a[i](mod m[i]) (0<=i<n)
LL china(int n, LL *a, LL *m) {
    LL M = 1, ret = 0;
    for(int i = 0; i < n; i ++) M *= m[i];
    for(int i = 0; i < n; i ++) {
        LL w = M / m[i];
        ret = (ret + w * inv(w, m[i]) * a[i]) % M;
    }
    return (ret + M) % M;
}

猜你喜欢

转载自blog.csdn.net/c_cqq/article/details/81208348
今日推荐