1006 Biorhythms - 扩展欧几里德算法

题意:给出三个节律循环上次开始的时间、各自周期以及现在时间,求下次三个周期同时达到顶点的时间。

代码如下:

  1. #include  <iostream>
  2. using  namespace  std;
  3. int  main()
  4. {
  5.     int  p, e, i, d;
  6.     int  cnt, k;
  7.     
  8.     cnt = 0;
  9.     
  10.     while (1)
  11.     {
  12.         cin >> p >> e >> i >> d;
  13.         
  14.         if (p == - 1)
  15.         {
  16.             break;
  17.         }
  18.         
  19.         k = (5544 * p + 14421 * e + 1288 * i - d + 21251) % 21252 + 1;
  20.        
  21.         cout << "Case " << ++cnt
  22.              << ": the next triple peak occurs in "
  23.              << k << " days." << endl;
  24.     }
  25.     
  26.     return  0;
  27. }     

你可能感兴趣的:(算法,扩展)