中国剩余定理
第2 - N + 1行,每行2个数P和M,中间用空格分隔,P是质数,M是K % P的结果。(2 <= P <= 100, 0 <= K < P)
3 2 1 3 2 5 3
23
代码如下:
#include<iostream>
#include<cstdio>
using namespace std;
struct node
{
int k;
int t;
}a[11];
int main()
{
int k;
int n;
int i;
int s=1;
scanf("%d",&n);
for( i=0;i<n;i++)
{
scanf("%d%d",&a[i].t,&a[i].k);
}
k = a[0].k;
for( i=0;i<n-1;i++)
{
s*=a[i].t;
while(k%a[i+1].t!=a[i+1].k)
{
k+=s;
}
}
printf("%d\n",k);
return 0;
}

浙公网安备 33010602011771号