Решение: Максимальное число на 2
Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, оканчивающееся на 2.
Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 2.
Количество чисел не превышает 1000. Введённые числа не превышают 30 000.
Программа должна вывести одно число — максимальное число, оканчивающееся на 2.
| Входные данные | Выходные данные |
|---|---|
| 4 3 22 6 12 | 22 |
Решение по шагам
6 шаговСчитываем количество чисел в последовательности.
$$n = \text{int(input())}$$Переменную максимума можно инициализировать нулём, так как все числа натуральные.
$$maximum = 0$$Для каждого введённого числа проверяем, равна ли последняя цифра 2.
$$x \bmod 10 = 2$$Если число подходит и больше текущего максимума, заменяем значение максимума.
$$maximum = \max(maximum, x)$$После обработки всей последовательности выводим найденный максимум.
$$print(maximum)$$Один из возможных вариантов программы на Python:
n = int(input())
maximum = 0
for _ in range(n):
x = int(input())
if x % 10 == 2 and x > maximum:
maximum = x
print(maximum)
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Проверяют делимость на 2 вместо проверки последней цифры: нужно условие x % 10 == 2.
Выводят первое найденное подходящее число, не сравнивая его с текущим максимумом.
Забывают считать первое число последовательности как количество элементов, а не как элемент последовательности.
Инициализируют максимум большим произвольным числом.