中国剩余定理(Chinese Remainder Theorem, CRT)可求解以下形式的一元线性同余方程组(其中 \(w_1,w_2,w_3……w_n\) 两两互质):ui
然而这个东西相对于一样能够解决这个问题的\(excrt\) 有着很大的限制,因此在这里并不作过多说明spa
仍是上面的方程组,求知足这个方程组的最小非负整数解 \(x\)ip
假设\(M=\prod_{i=1}^{k-1} \ \ lcm(w_i,M)\)rem
首先咱们已经假设求出了前 \(k-1\) 个方程的解 \(x_0\) ,那么前 \(k-1\) 个方程的通解即为get
那么如今引入第 \(k\) 个方程原型
那么也就是找出一个正整数 \(t\) 使得ast
成立class
移项能够获得gc
那么这个方程能够用扩欧求得解 \(t\)im
此时的答案 \(x\) 即为 $x_0+t \times M $
注:该实现仅表明本人的一点看法,因为初学,知识浅薄,仅能理解到表面,若有差错请指出
首先能够把\(M=m_1,x=b_1\)用第一个方程做为基层来一步步求得后面的方程
当咱们经过扩欧求得的 \(t\) 的时候,此时咱们是求得的方程原型为
要想进一步求得真正的 \(t\) 还要乘上 \(c/gcd(M,w_k)\)才能够,而且此时的模数能够为 \(b\),应用龟速乘进行求解便可
而后更新\(M=M\times w_k/gcd(M,w_k)\)
直到完成为止