1. 程式人生 > >模線性方程組、中國剩餘定理

模線性方程組、中國剩餘定理

對模線性方程 ax = b (mod m),有 ax = k*m + b,其中 k 是整數。
移項後有 ax - km = b,轉化到了 EXGCD 的解法。

若有模線性方程組如下:
x=b1(modm1)
x=b2(modm2)
x=b3(modm3)
…………
x=bk(modmk)
需要我們解出一個 x

方法一:

我們取前兩個式子,則有
x=k1m1+a1
x=k2m2+a2
相應變動後有

m1k1m2k2=a2a1
其中 m1m2a2a1 是已知的,由 exgcd 能夠得到一組特解 k1k2.
k1 帶回第一個式子能得到一個特解 X。
那麼其他的解 x=X+klcm(m1,m2),k是自然數。
變形後可以得到
x=X(modlcm(m1,m2))
再和 x=b3(modm3) 繼續上述過程,可以得到所有方程的解。

方法二:

中國剩餘定理:

有一次同餘方程組如下:
x=b1(modm1)


x=b2(modm2)
x=b3(modm3)
….
x=bk(modmk)

m1,m2,m3...mk兩兩互素的正整數,對於任意的 b1,b2,b3...bk,一次同餘方程組必定有解,且只有一組解。

Hdu 1573 X問題 中國剩餘定理模板

  Problem Description 求在小於等於N的正整數中有多少個X滿足:X mod a[0] = b[0], X mod a[1] = b[1], X mod a[2] = b[2], …, X mod a[i] = b[i], … (0 < a[i] <=

51nod 1079 中國剩餘定理 模板

一個正整數K,給出K Mod 一些質數的結果,求符合條件的最小的K。例如,K % 2 = 1, K % 3 = 2, K % 5 = 3。符合條件的最小的K = 23。 Input 第1行:1個數N表示後面輸入的質數及模的數量。(2 <= N <=&

Hdu 3575 Hello Kiki 中國剩餘定理模板

Problem Description One day I was shopping in the supermarket. There was a cashier counting coins seriously when a little kid running and singing "門

中國剩餘定理poj1006

題意就是給出23,28,33三個週期,輸入三個餘數和起始時間,問下一個共同週期。 中國剩餘定理模板題 中國剩餘定理: mi=n1*n2*...*n(i-1)*n(i+1)*...*ni ci=mi ( mi^-1 mod ni ) a≡(a1c1+a2c2+...+akck)(mod n)

擴充套件歐幾里得及中國剩餘定理

Exgcd 擴充套件歐幾里得 void exgcd(int a,int b,int &x,int &y){ if(!b){x=1,y=0;return;} exgcd(b,a%b,x,y);b-=y*(a/b); } 對於 \(gcd(a,b)=g\) ,\(a\time

【模板】合併線性方程組(POJ2891)

Description   給定\(n\)組同餘關係,求解最小的非負整數\(x\),滿足\(x \mod a_i = r_i\) Input   第一行一個整數\(n\)   接下來\(n\)行,每行兩個整數,分別表示\(a_i\) 和 \(r_i\) Output   一個正整數\(x\)即最小正

中國剩餘定理的五種解法

原文地址:http://blog.sina.com.cn/s/blog_a6f9a3b60101favb.html 一、列舉法 二、解不定方程法 三、逐級滿足法 四、化為相同除數的同餘式法、 五、才用到典經的、不同除數的同餘式組解法     現將陳