Advertisement
Guest User

Untitled

a guest
Mar 20th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.63 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. int main(){
  4.     int max2 = 0, max7 = 0, max2_7 = 0, max = 0, n, m;
  5.     /*
  6.     число R должно делиться на 14 и быть равно произведению двух чисел.
  7.     Следовательно эти два числа тоже должны делиться на 14.
  8.     Разложим 14 на простые числа: 14 = 2*7, значит и произвидение чисел должно делиться на 2 и на 7.
  9.     */
  10.     cin >> n; // n - кол-во чисел в последовательности
  11.     for(int a = 0; a < n; a++){
  12.         cin >> m;
  13.         if((!(m%14)) && (m > max2_7)) max2_7 = m; // случай, когда введенное число кратно и 2, и 7
  14.         if((!(m%2)) && (m > max2) && (m%7)) max2 = m; // случай, когда введенное число кратно 2
  15.         if((!(m%7)) && (m > max7) && (m%2)) max7 = m; // случай, когда введенное число кратно 7
  16.         if((m%2) && (m%7) && (m > max)) max = m; // максмальное число в последовательности, не кратное ни 2, ни 7. будет использоваться для произведения только к max2_7, то есть если было найдено число кратное и 2, и 7
  17.     }
  18.     cin >> m; // контрольное число R
  19.     (max2_7*max > max2*max7)? max *= max2_7 : max = max2*max7;
  20.     cout << "Вычисленное контрольное значение: " << max << endl;
  21.     if (m == max) cout << "Контроль пройден\n";
  22.     else cout << "Контроль не пройден";
  23. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement