输入
第1行:1个数N表示后面输入的质数及模的数量。(2 <= N <= 10)
第2 - N + 1行,每行2个数P和M,中间用空格分隔,P是质数,M是K % P的结果。(2 <= P <= 100, 0 <= K
输出
输出符合条件的最小的K。数据中所有K均小于10^9。
输出样例
23
排着找,同时满足的。
代码:
#include
#include
#include
#include
#include
#define MAX 11
using namespace std;
typedef pair<int,int> pa;
pa p[MAX];
int n,m;
bool check(int k) {
for(int i = 1;i ) {
if(k % p[i].first != p[i].second) return false;
}
return true;
}
int main() {
scanf("%d",&n);
for(int i = 0;i ) {
scanf("%d%d",&p[i].first,&p[i].second);
if(p[i].first > p[0].first) swap(p[0],p[i]);
}
int i;
for(i = 0 + p[0].second;!check(i);i += p[0].first);
printf("%d",i);
}