中国余数定理
UPD:之前写的内容自己都看不懂了,现在重写一下。中国余数定理应用范围不如扩展中国余数定理,并且并没有性能上的优势,因此不写了,这里只讲扩展中国余数定理。
扩展中国余数定理
扩展中国余数定理允许我们寻找一个数x,满足x=yi(modmi),其中1≤i≤n。
当n=1的时候,很显然x=y1,且在模lcm(m1)意义下唯一。
考虑n>1的情况。我们先考虑前两个等式x=y1(modm1)和x=y2(modm2)。
这时候等价我们要找两个非负整数k1和k2,满足x=y1+k1m1以及x=y2+k2m2。合并两个公式可以得到y1+k1m1=y2+k2m2。稍微转移一下项可以得到k1m1−k2m2=y2−y1。这个公式应该看起来很眼熟,这不是扩展欧几里德算法吗。记g=gcd(m1,m2),这个公式有解当且仅当g∣y2−y1。
可以发现剩下的问题规模变小了,用相同的技术解决即可。
并且在有解的情况下,可以发现x在模lcm(m1,…,mn)的意义下是唯一的。实际上考虑n=2的情况,记L=lcm(m1,m2),有x=y1+k1m1以及x=y2+k2m2。假设存在两个不同解x1,x2,且0≤x1,x2<L。那么考虑到m1∣x1−x2以及m2∣x1−x2,因此一定有L∣x1−x2,这显然是不可能的。