PKU 1006

#include <iostream>
int main(){
        using namespace std;
        int p,q,r,o;
        for(int c=1;;c++){
                cin>>p>>q>>r>>o;
                if(p==-1)break;
                for(int i=1;i<21253;i++){
                        if(!((i+o-p)%23)&&!((i+o-q)%28)&&!((i+o-r)%33)){
                                cout<<"Case "<<c<<": the next triple peak occurs in "<<i<<" days.\n";
                                break;
                        }
                }
        }
}

結構躓いてこれもちょっと答えを見てしまった。意外な所に落とし穴はあるので注意していこうと思う。