Ray's playground

 

POJ 1006

code
 1 #include <iostream>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     int p, e, i, d;
 7     int j = 0;
 8     while(cin >> p >> e >> i >> d)
 9     {
10         if(p == -1 && e == -1 && i == -1 && d == -1)
11         {
12             break;
13         }
14         j++;
15 
16         p = p % 23;
17         e = e % 28;
18         i = i % 33;
19         
20         int k = 33 - ((d % 33- i);
21 
22         if(k > 33)
23         {
24             k -= 33;
25         }
26 
27         while(k <= 21252)
28         {
29             if((k + d - e) % 28 == 0 && (k + d - p) % 23 == 0)
30             {
31                 break;
32             }
33             k += 33;
34         }
35 
36         cout << "Case " << j << ": the next triple peak occurs in " << k << " days." << endl;
37     }
38 
39 }

 

posted on 2010-08-16 12:26  Ray Z  阅读(201)  评论(0)    收藏  举报

导航