poj 1005 中国剩余定理

来源:互联网 发布:二手货车估价软件 编辑:程序博客网 时间:2024/06/05 20:20
//中国剩余定理#include<iostream>#include<cstdio>using namespace std;const int MOD=21252;int ex_gcd(int a,int b,int &x,int &y){if(b==0){x=1;y=0;return a;}int r=ex_gcd(b,a%b,x,y);int t=x;x=y;y=t-a/b*y;return r; }  int main() { // 23 28 33 int p,e,i,d;int k=0; int N1=28*33,n1; int N2=23*33,n2; int N3=23*28,n3; int y; int r1=ex_gcd(N1,23,n1,y); int r2=ex_gcd(N2,28,n2,y); int r3=ex_gcd(N3,33,n3,y); n1=(n1+23)%23; n2=(n2+28)%28; n3=(n3+33)%33; //cout << n1 << n2 << n3 << endl; while(cin >> p >> e >> i >> d) { if(p==-1 && e==-1 && i==-1 && d==-1) break; N1=28*33*n1*p; N2=23*33*n2*e; N3=23*28*n3*i; int ans=(N1+N2+N3-d+MOD)%MOD; if(ans==0) ans=MOD; printf("Case %d: the next triple peak occurs in %d days.\n",++k,ans);  }  }

0 0
原创粉丝点击