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