約瑟夫和孫子定理

2022-07-18 20:27:16 字數 729 閱讀 6296

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...