论拓展中国剩余定理

Expended Chinese remainder theorem

中国剩余定理:

i{1,2,..n}pi 是质数,有:

xa1modp1

xa2modp2

xanmodpn

等价于

xa1M1M11+a2M2M12+...+anMnM1nmodM

其中:

M=p1p2...pn

Mi=M/pi

M1iMi0modpi

在此不对中国剩余定理进行证明,因为证明很显然。

拓展中国剩余定理:

对于任意的整数 p1 p2 ,有:

xa1modp1

xa2modp2

在有解的情况下等价于:

xa1+p1a2a1dInv(p1d,p2d)modp1p2d

其中:

d=gcd(p1,p2)

Inv(a,b) 表示在模b意义下a的逆元。

证明这个定理:

xa1modp1 等价于 x=a1+p1k1 (口头上可以这样说: x 能表示成 a1 k1 p1 的形式。)

xa2modp2 等价于 x=a2+p2k2 (口头上可以这样说: x 能表示成 a2 k2 p2 的形式。)

(上式中的 k1,k2 均为整数)

那么我们就有对于所有可行的 k1,k2 ,满足: a1+p1k1=a2+p2k2

变化一下形式: p1k1=(a2a1)+p2k2

gcd(p1,p2)=d ,说明 d|(a2a1) 。( p1k1p2k2=(a2a1) ,所以 (a2a1) 一定是d的倍数。)

这个时候,如果 d(a2a1) 说明该方程组无解,否则有解。

把d这个因此除掉: p1dk1a2a1d+p2dk2

这个式子还能说明: p1dk1a2a1dmodp2d

两边同时乘以 (p1d)1 :

k1a2a1d(p1d)1modp2d

k1=a2a1dInv(p1d,p2d)+tp2d ,现在我们可以把 k1 带回原式了。

x=a1+(a2a1dInv(p1d,p2d)+tp2d)p1=a1+p1a2a1dInv(p1d,p2d)+p1p2dt

所以:

x=a1+p1a2a1dInv(p1d,p2d)modp1p2d

得证。

主要思想:

证明的正确性仍然是依照中国剩余定理,证明的思路就是把参数 k1 用含有常数的模方程表示出来,然后再带回原式。

猜你喜欢

转载自blog.csdn.net/ggn_2015/article/details/79143275