Напишите программу, которая в последовательности натуральных чисел определяет...

+118 голосов
318k просмотров

Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, кратное 5. Программа получает на вход коли-чество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 5. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – максимальное число, кратное 5.Нужна рабочая программа ,чтобы можно было проверить.


Информатика (315 баллов) | 318k просмотров
Дано ответов: 2
+173 голосов

a = int(input())

c = 0

for i in range(a):

   b = int(input())

   if b % 5 == 0 and b > c:

       c = b

print(b)

(70 баллов)
+128

сейчас проверю

+89

неправильно

+66

так а числа вводятся как? в плане они одной строкой или нет?

+86 голосов

Ответ:

PascalABC.NET:

  • begin
  • var a := ReadArrInteger(ReadInteger('Введите количество чисел:'));
  • Println('Максимальное число, кратное 5:', a.Where(c->c mod 5 =0).Max);
  • end.

Можно и в одну строчку, но тогда читабельность начинает страдать:

  • begin
  • Println('Максимальное число, кратное 5:', ReadArrInteger(ReadInteger('Введите количество чисел:')).Where(c -> c mod 5 = 0).Max);
  • end.

Объяснение:

ReadArrInteger(n) /// Возвращает массив из n целых чисел, введённых с клавиатуры.

ReadInteger(s) /// Выводит s и возвращает целое число, введённое с клавиатуры.

Where(predicate) /// В нашем случае он возвращает только те элементы нашей последовательности, которые кратны 5.

Max /// Возвращает максимальное число последовательности.

Пример работоспособности программы:


image
image
(3.7k баллов)