中国剩余定理

满足给定 \(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\)。【这一操作可以用逆元求出】
理由:

  1. \(70\)\(5\)\(7\) 的乘积 \(mod\) \(3\)\(1\) 的最小公倍数。
  2. \(21\)\(3\)\(7\) 的乘积 \(mod\) \(5\)\(1\) 的最小公倍数。
  3. \(15\)\(3\)\(5\) 的乘积 \(mod\) \(7\)\(1\) 的最小公倍数。

sum\(3,5,7\) 的最大公因数。

将上面的最下公倍数乘上对应的同余数求和,这里就是 \(70 \times 1 + 21 \times 2 + 15 \times 1 = 127\),记为 res

最后将 res 去除以 sum 所得到的值就是 \(x\)

posted @ 2025-05-08 17:30  Nefert_zlm  阅读(41)  评论(0)    收藏  举报