Найти максимальное произведение чисел, кратное 14 - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Привет всем! Надо решать задачу:
Спойлер
Думал вот как: проверять каждое число на делимость 14, 7 и 2 и хранить максимальные такие числа. В конце перемножить макс кратные 7 и макс кратные 2. И макс кратные 14 умножить на самое большое число, и сравнить два произведения. При этом нужно хранить еще и самое максимальное число, не подходящее под условия кратности. Проблема в том, что если в последовательности есть 2 одинаковых числа то мы не учтем это(оно пойдет по условию кратности и не отметиться как самое большое число). Поэтому прошу помочь) Заранее спасибо)

Решение задачи: «Найти максимальное произведение чисел, кратное 14»

textual
Листинг программы
  1. for i:=1 to n do
  2. begin
  3. readln(x);
  4. if (x mod 14 = 0) and (x > max14) then begin
  5.        if max14 > max then max:= max14;
  6.        max14:= x
  7.     end    
  8.     else if x > max then max:= x;
  9.     if (x mod 2 = 0) and (x > max2) then max2:= x
  10.     else
  11.       if (x mod 7 = 0) and (x > max7) then max7:= x;
  12.   end;
  13.  
  14.   if max14*max > max2*max7 then
  15.        C:= max7*max
  16.   else C:= max2*max7;

Объяснение кода листинга программы

В этом коде выполняется поиск максимального произведения чисел, кратных 14. В первой строке кода цикл for инициализируется, и в каждой итерации считывается значение переменной x. Если x кратно 14 и больше текущего max14, то значение переменной max14 обновляется, и проверяется, является ли оно больше текущего max. Если это так, то max обновляется. Если x больше max, то max обновляется. Если x кратно 2 и больше текущего max2, то значение переменной max2 обновляется. Если x кратно 7 и больше текущего max7, то значение переменной max7 обновляется. После завершения цикла for выполняется проверка: если произведение max14 и max больше, чем произведение max2 и max7, то значение переменной C обновляется как произведение max7 и max. В противном случае значение переменной C обновляется как произведение max2 и max7. Поэтому правильный ответ — это значение переменной C. Другие ответы неверны, потому что: — Значение переменной max обновляется только в том случае, если число x больше текущего max. — Значение переменной max14 обновляется только в том случае, если число x кратно 14 и больше текущего max14. — Значение переменной max2 обновляется только в том случае, если число x кратно 2 и больше текущего max2. — Значение переменной max7 обновляется только в том случае, если число x кратно 7 и больше текущего max7.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.091 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы