中国剩余定理
x%ai=bi
gcd(ai,aj)=1
找到能被a2……an整除,而且除a1余1的数;
a1、a3……an a2 ;
……
a1……an-1 an ;
加在一起,对a1……an的最小公倍数取余;
#include<stdio.h>
int minn,n,i,j,tot,ans,a[100],b[100];
int main(){
scanf("%d",&n);
for(i=1;i<=n;i++)scanf("%d%d",&a[i],&b[i]);
for(i=1;i<=n;i++){
tot=1;
for(j=1;j<=n;j++)
if(i!=j){
tot=tot*a[j];
}
ans=tot;
while(ans%a[i]!=b[i])ans+=tot;
minn+=ans;
}
tot=1;
for(i=1;i<=n;i++)tot=tot*a[i];
minn=minn%tot;
printf("%d\n",minn);
}