中國剩餘定理(詳解)

2021-07-05 07:32:45 字數 2465 閱讀 6933

中國剩餘定理可以描述為:

若某數x

分別被d1、、…

、dn除得的餘數為r1、

r2、…、

rn,則可表示為下式:

x=r1r1+r2r2+…+rnrn+rd

其中r1是d2

、d3、…

、dn的公倍數,而且被

d1除,餘數為

1;(稱為

r1相對於

d1的數論倒數)

r1 、

r2 、

…  、 rn

是d1、d2

、…、dn-1

的公倍數,而且被

dn除,餘數為1;

d是d1、

d2、…、的最小公倍數;

r是任意整數(代表倍數),可根據實際需要決定;且d1

、、…、必須互質,以保證每個

ri(i=1,2,…

,n)都能求得.

(注:因為r1對

d1求余為

1,所以

r1r1對d1

求余為r1

,這就是為什麼是r1對

d1求余為

1的目的,其次,

r2r2,r3r3…rnrn對d1

求餘都是0)

如要討論中國利餘定理,同餘(

congruence

)的概念可算是必須。

給定乙個正整數n,我們說兩個數a、b是對模n同餘,如果a-b是n的倍數。用符號a≡b(mod n)來代表。一般來說,a≡b(mod n)等同於a=b+kn,而a,b,k,n都是整數,所以,13≡1(mod 6)、19≡1(mod 6)。 

但同餘並不只是乙個代號,而是有很方便和有趣的特性。(一)整數加法跟普通加法相似,a+c≡(b+c)(mod n);(二)整數乘法跟普通乘法相似,ac≡bc(mod n),而a,b,c,n都是整數。但如果ac≡bc(mod n),則不一定a≡b(mod n)。 

以「鬼谷算」為例,假設x是那個未知數,而除3,5,7後的餘數分別為r1,r2,r3。因此有 

x≡r1(mod 3) 

x≡r2(mod 5) 

x≡r3(mod 7) 

而另一方面

70=(5x7)x2≡1(mod 3)、70≡0(mod 5)及70≡0(mod 7) 

21=(3x7)x1≡1(mod 5)、21≡0(mod 3)及21≡0(mod 7) 

15=(3x5)x1≡1(mod 7)、15≡0(mod 3)及15≡0(mod 5) 

由同餘的特性,我們有 

70r1

≡r1(mod3)、

70r1

≡0(mod5)及

70r1

≡0(mod

7) 21r2

≡0(mod3)、

21r2

≡r2(mod5)及

21r2

≡0(mod

7) 15r3

≡0(mod3)、

15r3

≡0(mod5)及

15r3

≡r3(mod

7) 因此亦有 

70r1+21r2+15r3≡r1(mod 3) 

70r1+21r2+15r3≡r2(mod 5) 

70r1+21r2+15r3≡r3(mod 7) 

所以x≡70r1+21r2+15r3+3m

x≡70r1+21r2+15r3+5n

x≡70r1+21r2+15r3+7p

最後得到這個精彩的結果,x≡(70r1+21r2+15r3)(mod 105),而105正便是3,5,7的最小公偣數。所以其實在很多數字可以滿足這幾個餘數條件的,要找到最小值才要減105。

對於中國剩餘定理有個簡單理解並記憶的方法:

中國剩餘定理的思想在於先找到乙個滿足條件的數,不管是不是最小的,如果不是最小的就不斷減公倍數,中國剩餘定理的巧妙在於把滿足條件的數分成三個部分相加,例如:

假設滿足條件的數為:m=3*5*a+5*7*b+3*7*c

先讓它滿足條件1:除以3餘1,我們看m的第一部分和第三部分能被3整除,只要第二部分除以3餘1就行了,選擇b=2就滿足

再滿足條件2:除以5餘2,考慮第三部分就行了,選擇c=2就滿足

最後滿足條件3:除以7餘3,考慮第一部分就行了,選擇a=3

這樣m=3*5*3+5*7*2+3*7*2=157,比公倍數大,減去公倍數,157-105=52是滿足條件最小數

以我個人理解寫成下面這個形式(以3個數為例)

x被a,b,c處分別餘r1,r2,r3。表示為:

x%a = r1                     x%b = r2                     x%c = r3

bc*k1 % a = 1     ac*k3 % b = 1     ab*k3 % c = 1

所以x = bc * k1 * r1 + ac * k2 * r2 + ab * k3 * r3

下面以乙個例子來把中國剩餘定理用於實踐

poj1006:

解析報告:點這裡

中國剩餘定理詳解

中國剩餘定理 孫子算經裡有這樣乙個問題 今有物不知其數,三三數之剩二,五五數之剩三,七七數之剩二,問物幾何?翻譯成現在的數學問題就是 x 3 2 x 5 3 x 7 2,求x 的值 遇到這這樣乙個問題很多c 語言初學者不禁會想到用暴力可以算出來,還要這樣乙個定理幹嘛?如果資料相當大呢?計算機就會計算...

中國剩餘定理(詳解)

中國剩餘定理可以描述為 若某數x 分別被d1 dn除得的餘數為r1 r2 rn,則可表示為下式 x r1r1 r2r2 rnrn rd 其中r1是d2 d3 dn的公倍數,而且被 d1除,餘數為 1 稱為 r1相對於 d1的數論倒數 r1 r2 rn 是d1 d2 dn 1 的公倍數,而且被 dn除...

中國剩餘定理詳解

中國剩餘定理又叫孫子定理 孫子算經中有問題 今有物不知其數,三三數之剩二,五五數之剩三,七七數之剩二。問物幾何?首先我們容易知道如果x是這個其中的乙個解,那麼x 140 k也是這裡面的解,140是這三個模的最小公倍數,k是整數 運用這個我們可以把三個式子給合併成兩個式子,進而把解表示成k1 2 k2...