注意:
由于之前把题目描述输入输出什么的写入博客,总是发布失败,所以在这里不再介绍题目内容,本题主要就是应用中国剩余定理。
程序代码:
#include<stdio.h> int r1,r2,r3,r; void solve() { int i; for(i=1,r1=23*28;;i++) { if(r1*i%33==1) break; } r1*=i; for(i=1,r2=23*33;;i++) { if(r2*i%28==1) break; } r2*=i; for(i=1,r3=28*33;;i++) { if(r3*i%23==1) break; } r3*=i; r=23*28*33; } int main() { int Case=1,p,e,i,d,ans; solve(); while(~scanf("%d %d %d %d",&p,&e,&i,&d)) { if(p==-1&&e==-1&&i==-1&&d==-1) break; ans=(r1*i+r2*e+r3*p-d+r)%r; if(!ans) ans=r; printf("Case %d: the next triple peak occurs in %d days.\n",Case++,ans); } return 0; }