中國剩餘定理

2021-07-29 10:48:45 字數 744 閱讀 6689

給出一系列同餘的方程x≡ci (mod mi)(即x%mi=ci),求滿足各項同餘方程的最小x的解。題目保證m1,m2……mn兩兩互質。

為了理解,需要知道兩個基本性質:

1,若a≡c 

(mod b),則a+n≡c+n (mod b)。

2,若a≡c 

(mod b),則a*n≡c*n (mod b)。

接下來是對演算法步驟的解析。

1,首先,我們先算出所有m的最小公倍數lcm,這對解題非常有用。

2,然後,對每項方程,我們都構造出乙個數ai,使ai%mi=ci,ai%mj=0(mj 就代表除了mi 以外的任意乙個m,下面的xj,sj同理)。而現在的問題是,我們怎樣才能得到ai呢?

我們發現,lcm就能整除所有的m,那我們把lcm除以mi不就得到乙個mod所有的mj都為0並且mod mi不為0的數了嗎?我們把這個數稱為si(si=lcm/mi)。這個數離ai

已經非常

近了,但還不是ai。於是,我們就想到了逆元(si的逆元用(1/si)表示)。

我們發現,si*(1/si)≡1 (mod mi),而si*(1/si)*ci≡ci。所以,ai=si*(1/si)*ci。

3,最後,我們把所有的a相加,得到sum_a。因為對於每乙個ai來說,ai%mi=ci,(所有aj的和)%mi=0,那麼ai+(所有aj的和)%mi=ci,即sum_a%mi=ci。同理,sum_a%aj=0。這樣,sum_a就是乙個答案了,但不一定是最小的,我們把sum_a模上lcm,就得到最終答案x了。

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

中國剩餘定理 對於求解一元不定方程組 的一種演算法叫做中國剩餘定理。又名孫子定理。其中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和...