题意:就是给定三个生理周期,然后从d天开始,问经过多少天后,三个周期会再度重合!
思路:这个题以前做过,当然现在看来,正解应该使用同余模方程和中国剩余定理,不过值得庆幸的是,该题目的数据量很小,所以可以直接枚举到能同时满足三个周期取模的一天。
code:
思路:这个题以前做过,当然现在看来,正解应该使用同余模方程和中国剩余定理,不过值得庆幸的是,该题目的数据量很小,所以可以直接枚举到能同时满足三个周期取模的一天。
code:
#include <iostream>
using namespace std;
int main ()
{
int a,b,c,d,i,k=0;
while(cin>>a>>b>>c>>d)
{
if (a==-1&&b==-1&&c==-1&&d==-1) break;
for (i=d+1;i<30000;i++) //完全暴力
if((i-a)%23==0&&(i-b)%28==0&&(i-c)%33==0)
{
cout<<"Case "<<++k<<":"<<" the next triple peak occurs in "<<i-d<<" days."<<endl;
break;
}
}
}