@NNIDER

Можете объяснить код простой программы из ответа по ОГЭ?

Вот условие задачи:

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

Вот ответ на нее:

n = int(input())
result = 0
for i in range(n):
a = int(input())
if a %5==0 and a>result:
result=a
print(result)
Почему нужна строка "and a>result:"?
  • Вопрос задан
  • 1215 просмотров
Решения вопроса 2
Vindicar
@Vindicar
RTFM!
Потому что нигде не сказано, что последовательность идёт строго по возрастанию.
Пример: 7 3 500 6 9 5 8
Без второго условия программа увидит число 5 и перезапишет result = 5, хотя оно меньше чем более раннее 500.
Ответ написан
@madnober
Здесь мы создаём переменную, в которую будет присваиваться максимальное число, кратное 5
result = 0
Здесь мы проверяем делится ли 'a' на 5 и является ли оно больше предыдущее, записанное в result
if a %5==0 and a>result:
result=a


Другими словами, если например нам даётся 3 числа, которые вводятся поочерёдно. Пусть это будут числа 5, 15, 10. Тогда ваша программа сначала присвоит переменной 'a' значение 5, затем 15, т.к 15 > 5, и на последней итерации ничего присвоено не будет, т.к 15 > 10. Поэтому ответом будет 15
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы