Задание №16 — Алгоритмы и программирование
Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, оканчивающееся на 2.
Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 2.
Количество чисел не превышает 1000. Введённые числа не превышают 30 000.
Программа должна вывести одно число максимальное число, оканчивающееся на 2.
Пример работы программы:
Входные данные | Выходные данные |
4 | 22 |
Проверка решения с помощью ИИ доступна авторизованным пользователям
Решение.
Для решения этой задачи нам необходимо последовательно обработать набор чисел и найти среди тех, что оканчиваются на 2, самое большое.
Шаг 1: Анализ входных данных.
Сначала программа считывает количество чисел . Затем в цикле она будет получать сами числа одно за другим. Нам не нужно хранить все числа сразу, достаточно проверять каждое число в момент ввода.
Шаг 2: Выбор переменной для максимума.
Создадим переменную max_val, в которой будем хранить текущее максимальное число, подходящее под условие. Так как по условию в последовательности всегда есть число, оканчивающееся на 2, и все числа натуральные (больше 0), мы можем инициализировать max_val нулём или любым числом, которое заведомо меньше любого натурального.
Шаг 3: Проверка условий.
Для каждого введённого числа нужно проверить два условия:
1. Оканчивается ли оно на 2? В программировании это проверяется с помощью остатка от деления на 10: .
2. Больше ли оно, чем наше текущее максимальное значение? То есть .
Шаг 4: Реализация алгоритма (на языке Python).
n = int(input()) # Считываем количество чисел
max_val = 0 # Начальное значение для максимума
for i in range(n):
x = int(input()) # Считываем очередное число
if x % 10 == 2: # Проверяем последнюю цифру
if x > max_val: # Если число больше текущего максимума
max_val = x # Обновляем максимум
print(max_val) # Выводим результат
Разбор примера:
Ввод: 4 (количество), затем числа 3, 22, 6, 12.
1. Число 3: на 2 не оканчивается. Пропускаем.
2. Число 22: оканчивается на 2. , значит max_val = 22.
3. Число 6: на 2 не оканчивается. Пропускаем.
4. Число 12: оканчивается на 2. Но , поэтому максимум не меняется.
Итог: 22.
Ответ: 22
Источник: ФИПИ