2*k 個人構成乙個環 前k個好人 後k個壞人, 要求以m個報數,前k個殺死的全是壞人。
首先嘗試求得這樣乙個m,滿足條件。
k=1的時候, x o m = 2 則先殺死壞人
k=2的時候, x x o o m= 7
如何解決k=2時候情況?
假設首先殺死第3個人 則 m = 4*a+3
接著殺死第4個人 則 m = 3*b + 1
滿足上面兩個條件的m如何求?
4*a+3 = 3*b+1 4*a = 3*b-2 = 3*c+1
這涉及到孫子定理, 擴充套件歐幾里德演算法,bézout's identity等概念
因為4*a = 3*c+1 且 4,3互質, (4*1)%3 == 1
所以4的mod運算的逆是 1, 4%3 == 1 , 4*a%3 == 1 所以 a%3 == 1
所以 a = 3*d+1
所以 4a +3 = 4*(3*d+1) +3 = 12d+7
所以m = 7 即可滿足條件。
上面假設先殺死第3個人,如果先殺死第4個人,則有
m = 4*a + 4 = 4*b (b>=1)
m = 3*c + 3 = 3*d (d >= 1)
所以 4b = 3d
b%3 == 0
m = 4*(3e) = 12e
m最小是 12
所以m最優解是 7
中國剩餘定理(孫子定理)
設m1,m2 mk是k個兩兩互素的正整數 則同餘方程組 x a1 mod m1 x a2 mod m2 x ak mod mk 記m m1 m2 m3 mk 有bj使mm j bj 1 m odmj 則x i 1 kmmj aj bjps x不一定是最小的需要mod m 例題 求下列同餘方程組最小解...
中國剩餘定理(孫子定理)
中國剩餘定理,也叫孫子定理,是數論中的又乙個重要定理,那麼它是幹什麼用的呢?簡單來說,這是乙個用來求一元線性同餘方程組的定理。叫做孫子定理的原因就是該定理最早可見於南北朝時期的著作 孫子算經 捲下第二十六題,叫做 物不知數 問題,原文如下 有物不知其數,三三數之剩二,五五數之剩三,七七數之剩二。問物...
中國剩餘定理 即 孫子定理
中國剩餘定理 即 孫子定理 中國古代求解一次同余式組 見 同餘 的方法。是 數論中乙個重要定理。又稱中國剩餘定理。中國剩餘定理 解法如下 假設存在乙個數m m a a m b b m c c 並且a,b,c必須倆倆互質。滿足這一條件下 存在乙個r1 使得 k1 a b r1 k1 c 1.存在乙個r...