Skip to content

中国剩余定理

给定一堆两两互质的数 m1,m2,,mk,解决一个 线性同余方程组

{xa1(modm1)xa2(modm2)xak(modmk)

该方程有公式解。

M=m1m2mk,记 Mi=M/mi。由于 (Mi,mi)=1,因此可以求出它的逆元 Mi1,是关于 mi 的逆元。通解为:

x=a1M1M11+a2M2M21++akMkMk1

可以用扩展欧几里得算法求逆元 ax1(modm),注意 mi 不一定是质数,如果是质数直接费马小定理了。

x 带入同余方程组显然可以证明对每个式子都成立。

表达整数的奇怪方式

AC204. 表达整数的奇怪方式

由题意知:x=kiai+mi,其中 ai,mi 为给定的数,要求的数为 ki。列出方程:

kiaikjaj=mjmi

由裴蜀定理可知,(ai,aj)|mjmi

Released under the MIT License.