题目链接:http://poj.org/problem?id=1006
解题报告:
1、枚举天数的时候可以根据前面的结果直接跳过一些错误的答案。
///三个周期是23,28,33,
#include <stdio.h> int main()
{
int p,e,i,d,Case=;
while(scanf("%d%d%d%d",&p,&e,&i,&d),p!=-)
{
int t1=p%,t2=e%,t3=i%;///三个周期第一次出现的时间
int day;
for(day=d+;day<=;day++)
{
if((day-t1)%==)
break;
}
for(;day<=;day+=)
{
if((day-t2)%==)
break;
}
for(;day<=;day+=*)
{
if((day-t3)%==)
break;
}
printf("Case %d: the next triple peak occurs in %d days.\n",Case,day-d);
Case++;
}
return ;
}