根據單因子構件湊成法(能對於變化的餘數都能快速求解)
思想:求出23, 28, 33三個互素(前提)的分別餘數為一的情況, 就介紹式一的情況,其他兩式同理可得。
式一:x滿足被28和33整除,除以23餘1,這就意味著在28和33的公倍數下找被23除餘1的數,經過計算器嘗試,28*33*k%23=1 k = 6 x = 6 * 28 * 33 = 5544.這是餘數為一的情況,如果餘數為y,直接5544 * y % 23 = y 根據
如果 a%b=c,那麼 (a*k)%b=kc (k為大於零的整數)。
式二:x = 14421
式三:x = 1288
最後求x除以23餘a,除以28餘b,除以33餘c,x = (5544 * a + 14421 * b + 1288 * c )%(28 *33 *23(互素)) 其實也能這樣算的(5544 + 14421 + 1288) - 1 = 21252
#include
#include
using namespace std;
int main()
return 0;
}
POJ 1006 中國剩餘定理
初見poj1006用的暴力破解寫的 寫完以後發現很搓。上網一查原來古人早就對此類問題有了解答規則。一 中國剩餘定理 一元線性同餘方程組問題最早可見於中國南北朝時期 公元5世紀 的數學著作 孫子算經 捲下第二十六題,叫做 物不知數 問題,原文如下 有物不知其數,三三數之剩二,五五數之剩三,七七數之剩二...
poj 1006(中國剩餘定理)
中國剩餘定理 孫子算經 中有 物不知數 問題 今有物不知其數,三三數之餘二 五五數之餘三 七七數之餘二,問物幾何?答為 23 這個就是傳說中的 中國剩餘定理 其實題目的意思就是,n 3 2,n 5 3,n 7 2 問n是多少?那麼他是怎麼解決的呢?看下面 題目中涉及 3,5,7三個互質的數 令 5 ...
POJ 1006 中國剩餘定理
問題描述 人自出生起就有體力,情感和智力三個生理週期,分別為23,28和33天。乙個週期內有一天為峰值,在這一天,人在對應的方面 體力,情感或智力 表現最好。通常這三個週期的峰值不會是同一天。現在給出三個日期,分別對應於體力,情感,智力出現峰值的日期。然後再給出乙個起始日期,要求從這一天開始,算出最...