中國剩餘定理的原理

2021-10-11 18:53:30 字數 1030 閱讀 9077

一、我們先來講兩個數學定理:

①a%b=c,則有(a+k∗b)%b=c

②如果a%b=c,那麼(a∗k)%b=a%b+a%b+…+a%b=c+c+…+c=k∗c(k>0)

二、我們設n1除以3餘2,n2除以5餘3,n3除以7餘2。

我們先從n1這個角度出發,已知n1滿足除以3餘2,能不能使得n1+n2的和仍然滿足除以3餘2?進而使得n1+n2+n3的和仍然滿足除以3餘2?

由定理①,我們可以做到。

如果n2是3的倍數,n1+n2就依然滿足除以3餘2,n3也是3的倍數,那麼n1+n2+n3的和就滿足除以3餘2。那麼就有下面的推導:

1、為使n1+n2+n3的和滿足除以3餘2,n2和n3 必須是3的倍數。

2、為使n1+n2+n3的和滿足除以5餘3,n1和n3必須是5的倍數。

3、為使n1+n2+n3的和滿足除以7餘2,n1和n2必須是7的倍數。

則為使n1+n2+n3

的和作為「孫子問題」的乙個最終解,需滿足:

1、n1除以3餘2,且是5和7的公倍數。

2、n2 除以5餘3,且是3和7的公倍數。

3、n3除以7餘2,且是3和5的公倍數。

所以,孫子問題解法的本質是從5和7的公倍數中找乙個除以3餘2的數n1,從3和7的公倍數中找乙個除以5餘3的數n2,從3和5的公倍數中找乙個除以7餘2的數n3,再將三個數相加得到解。

在求n1,n2,n3時又用了乙個小技巧,以n1為例,並非從5和7的公倍數中直接找乙個除以3餘2的數,而是先找乙個除以3餘1的數,再乘以2。也就是先求出5和7的公倍數模3下的逆元,再用逆元去乘餘數。

這裡也很好理解,通過定理②,也就是先求m=m/mi的模3的逆,即mm^-1=1(mod mi),但是我們要求的n1=2(mod 3),又mm^-12=2(mod mi),因此n1=mm^-1*2。而n2、n3以此類推。

n1+n2+n3只是問題的乙個解,並不是最小的解,我們只需要從中模3,5,7的公倍數105即可。

三、這樣就得到了我們的解x=n1+n2+n3(mod 105),即x=sum(mimi^-1ai)mod m(i=0,1,2……k)

中國剩餘定理 擴充套件中國剩餘定理

中國剩餘定理 對於求解一元不定方程組 的一種演算法叫做中國剩餘定理。又名孫子定理。其中m1,m2,m3.mk 為兩兩互質的整數,求x的最小非負整數解 令m mi 1 i n m是所有mi的最小公倍數 ti為同餘方程 ti m mi 1 mod mi 的最小非負整數解 則有乙個解 x ai m mi ...

中國剩餘定理

用來求解模數互質的同餘方程組,即求乙個數x,使得x除以n個模數分別為a1,a2,a3 an 注意這裡的除數必須要兩兩互質 得到n個餘數r1,r2,r3 rk。求這個數x.中國剩餘定理求的就是這個數x。求解過程 1 令p a1 s2 a3 an,ki p ai i從1到n 2 我們要找到這樣的數 di...

中國剩餘定理

中國剩餘定理介紹 在 孫子算經 中有這樣乙個問題 今有物不知其數,三三數之剩二 除以3餘2 五五數之剩三 除以5餘3 七七數之剩二 除以7餘2 問物幾何?這個問題稱為 孫子問題 該問題的一般解法國際上稱為 中國剩餘定理 具體解法分三步 找出三個數 從3和5的公倍數中找出被7除餘1的最小數15,從3和...