1079 中國剩餘定理
基準時間限制:1 秒 空間限制:131072 kb 分值: 0
難度:基礎題
乙個正整數k,給出k mod 一些質數的結果,求符合條件的最小的k。例如,k % 2 = 1, k % 3 = 2, k % 5 = 3。符合條件的最小的k = 23。
input
第1行:1個數n表示後面輸入的質數及模的數量。(2 <= n <= 10)input示例第2 - n + 1行,每行2個數p和m,中間用空格分隔,p是質數,m是k % p的結果。(2 <= p <= 100, 0 <= k output
輸出符合條件的最小的k。資料中所有k均小於10^9。
3output示例2 13 2
5 3
23思路:我們先說一下模擬.首先我們知道如果x%a=m的話, x=k*a+m.
對於 x%a1=m1, 很顯然x(min)=m, 如果再加一組條件 x%a2=m2, 若當前x(min)不滿足條件2的話, 我們找下乙個(我們可以想象滿足條件1的資料公升序排列)滿足條件1的資料,即a1+m,再判斷其是否滿足條件2, 很顯然我們只要地推下去就能找到同時滿足條件1, 2的最小資料; 如果再加乙個條件 x%a3=m3呢? 前面我們已經招到了滿足條件1, 2的最小資料
x(min), 若其不滿足條件3話, 我們找下乙個滿足條件1, 2的資料, 即x(min)+lcm(a1, a2)(此題中ai與aj互質,所以直接相乘就好啦,並且由這裡我們不難看出最壞情況下即每次加2時其時間複雜度為o(x)), 再判斷其是否滿足條件3, 最終我們可以招到同時滿足三個條件的最小數;
那麼,很明顯對於要滿足n個這樣的條件的答案我們也可以用這個方法求到啦~
**:
#includeusing namespace std;
struct node
s[15];
int main()
cout<
return 0;
}
1079 中國剩餘定理
乙個正整數k,給出k mod 一些質數的結果,求符合條件的最小的k。例如,k 2 1,k 3 2,k 5 3。符合條件的最小的k 23。輸入第1行 1個數n表示後面輸入的質數及模的數量。2 n 10 第2 n 1行,每行2個數p和m,中間用空格分隔,p是質數,m是k p的結果。2 p 100,0 k...
51nod 1079 中國剩餘定理
1079 中國剩餘定理 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 收藏 關注 乙個正整數k,給出k mod 一些質數的結果,求符合條件的最小的k。例如,k 2 1,k 3 2,k 5 3。符合條件的最小的k 23。input 第1行 1個數n表示後面輸入的質數及模的...
51nod 1079 中國剩餘定理
1079 中國剩餘定理 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 乙個正整數k,給出k mod 一些質數的結果,求符合條件的最小的k。例如,k 2 1,k 3 2,k 5 3。符合條件的最小的k 23。input 第1行 1個數n表示後面輸入的質數及模的數量。2 n...