首页 > 代码库 > Poj 1006

Poj 1006

就是中国剩余定理的应用……

幸好我学了数学基础

 1 #include<iostream>
 2 using namespace std;
 3 int main(){
 4     int p,e,i,d;
 5     int k;
 6     int count=1;
 7     while(cin>>p>>e>>i>>d){
 8         if(p==-1&&e==-1&&i==-1&&d==-1){
 9             break;
10         }
11         k=0;
12         p=p%23;
13         e=e%28;
14         i=i%33;
15         k=(k+(p*5544))%21252;
16         k=(k+(e*14421))%21252;
17         k=(k+(i*1288))%21252;
18         if(k==0){
19             k+=21252;
20         }
21         if(d==k){
22             cout<<"Case "<<count<<": the next triple peak occurs in "<<21252<<" days."<<endl;
23         }
24         else if(k>d){
25             cout<<"Case "<<count<<": the next triple peak occurs in "<<k-d<<" days."<<endl;
26         }
27         else{
28             cout<<"Case "<<count<<": the next triple peak occurs in "<<k-d+21252<<" days."<<endl;
29         }
30         count++;
31     }
32 }

 

Poj 1006