本文来自北大老师网络讲课的算法,可以学习一下这种思想
#include<bits/stdc++.h>
using namespace std;
#define N 21252
int main()
{
int p,e,i,d,caseNo=0; //p体力,e情感,i智力,d给定的日子
while(cin>>p>>e>>i>>d&&p!=-1){
++caseNo;
int k; //k拿来计数
for(k=d+1;(k-p)%23;k++); //判断是否是 体力日
for(;(k-e)%28;k+=23); //判断是否是 情感日
for(;(k-i)%23;k+=23*28); //判断是否是 智力日
cout<<"三日合一"<<caseNo<<endl;
}
return 0;
}