http://poj.org/problem?id=1006
这个题需要用到数论里的剩余定理,在这个题的话公式为re=(5544*p+14421*e+1288*i-d+21252)%21252,5544是33×28×a被23除余1得来的,那两个也是,不得不说数论都某些题的影响很大,不会就会很难做,这个题我也是查的资料才做出来
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
int p,e,i,d;
int a=0;
while(cin>>p>>e>>i>>d){
if(p==-1 && e==-1 && i==-1 && d==-1) break;
int max=21252;
int re=(5544*p+14421*e+1288*i-d+21252)%21252;
if(re==0) re=21252;
a++;
cout<<"Case "<<a<<": the next triple peak occurs in "<<re<<" days."<<endl;
}
return 0;
}