中国剩余定理
满足给定 \(k\) 个数,如 \(a_{i}\) ,和若干个同余方程。
求这个数。
设为 \(x\)。
e.g. :
\(3\) 个数,(3,5,7)。
\(x \equiv 1\) \(mod\) \(3\)
\(x \equiv 2\) \(mod\) \(5\)
\(x \equiv 1\) \(mod\) \(7\)
对应的 \(3\) 为 \(70\),对应的 \(5\) 为 \(21\),对应的 \(7\) 为 \(15\)。【这一操作可以用逆元求出】
理由:
- \(70\) 为 \(5\) 和 \(7\) 的乘积 \(mod\) \(3\) 为 \(1\) 的最小公倍数。
- \(21\) 为 \(3\) 和 \(7\) 的乘积 \(mod\) \(5\) 为 \(1\) 的最小公倍数。
- \(15\) 为 \(3\) 和 \(5\) 的乘积 \(mod\) \(7\) 为 \(1\) 的最小公倍数。
令 sum 为 \(3,5,7\) 的最大公因数。
将上面的最下公倍数乘上对应的同余数求和,这里就是 \(70 \times 1 + 21 \times 2 + 15 \times 1 = 127\),记为 res。
最后将 res 去除以 sum 所得到的值就是 \(x\)。

浙公网安备 33010602011771号