2011-04-12 19:27:34 题目地址:http://acm.fzu.edu.cn/problem.php?pid=1402 中国剩余定理 #include<stdio.h> int main() { __int64 A,An,result; int a[10],b[10],i,j,n; while (~scanf("%d",&n)) { result=0; A=1; for(i=0;i<n;i++) { scanf("%d%d",a+i,b+i); A*=a[i]; } for(i=0;i<n;i++) { An=A/a[i]; if(An%a[i]!=0) for(j=1;(An*j)%a[i]!=1;j++); result+=An*b[i]*j;// 写成 result+=b[i]*j*An竟然A不了 } printf("%I64d/n",result%A); } return 0; }