Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int main(){
- int max2 = 0, max7 = 0, max2_7 = 0, max = 0, n, m;
- /*
- число R должно делиться на 14 и быть равно произведению двух чисел.
- Следовательно эти два числа тоже должны делиться на 14.
- Разложим 14 на простые числа: 14 = 2*7, значит и произвидение чисел должно делиться на 2 и на 7.
- */
- cin >> n; // n - кол-во чисел в последовательности
- for(int a = 0; a < n; a++){
- cin >> m;
- if((!(m%14)) && (m > max2_7)) max2_7 = m; // случай, когда введенное число кратно и 2, и 7
- if((!(m%2)) && (m > max2) && (m%7)) max2 = m; // случай, когда введенное число кратно 2
- if((!(m%7)) && (m > max7) && (m%2)) max7 = m; // случай, когда введенное число кратно 7
- if((m%2) && (m%7) && (m > max)) max = m; // максмальное число в последовательности, не кратное ни 2, ни 7. будет использоваться для произведения только к max2_7, то есть если было найдено число кратное и 2, и 7
- }
- cin >> m; // контрольное число R
- (max2_7*max > max2*max7)? max *= max2_7 : max = max2*max7;
- cout << "Вычисленное контрольное значение: " << max << endl;
- if (m == max) cout << "Контроль пройден\n";
- else cout << "Контроль не пройден";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement