Дано число N, затем элементы массива- целые числа. Вывести максимальное число, которое заканчивается на ту же цифру, что и последнее число. Ввод 5 6 16 999 96 6 Вывод 96
Ответ нейросети
12 марта 2026 23:03
Задача ясна: дано N и далее N целых чисел. Нужно вывести максимальное число из этого массива, которое оканчивается на ту же цифру, что и последнее число массива.
Пояснение по шагам
- Пусть last_digit = последняя цифра последнего элемента массива. Это last_digit = a_N % 10.
- Среди всех элементов массива выбираем те, которые имеют такую же последнюю цифру: a_i % 10 == last_digit.
- Из них находим максимальное значение.
- Выводим найденное максимальное число.
Алгоритм (пошагово)
- Прочитать N и далее N целых чисел: a1, a2, ..., aN.
- last_digit = aN % 10.
- Инициализировать ответ как неопределённый (например, None) или минимальное.
- Для каждого числа x из массива:
- если x % 10 == last_digit, то обновлять максимум: если нет сохранённого значения или x больше текущего, запомнить x.
- Вывести найденное максимум-значение. Поскольку последниє цифры совпадают у последнего элемента, найдётся как минимум этот элемент.
С учётом примера
- Ввод: 5 6 16 999 96 6
- Последняя цифра последнего элемента (6) => last_digit = 6
- Числа с последней цифрой 6: 6, 16, 96, 6
- Максимум среди них: 96
- Вывод: 96
Пример кода на Python (упрощённый вариант)
- Этот код рассчитан на стандартный ввод вида: N затем N чисел.
- Он следует описанному выше алгоритму.
def max_with_same_last_digit(nums): if not nums: return None last_digit = nums[-1] % 10 best = None for x in nums: if x % 10 == last_digit: if best is None or x > best: best = x return best
Пример использования
Ввод: 5 6 16 999 96 6
Ели получить из ввода строку и разобрать:
data = list(map(int, input().split()))
n = data[0]
arr = data[1:1+n]
print(max_with_same_last_digit(arr))
Если требуется именно одна строка кода чтения ввода: def main(): data = list(map(int, import('sys').stdin.read().strip().split())) if not data: return n = data[0] arr = data[1:1+n] last = arr[-1] % 10 best = None for x in arr: if x % 10 == last: if best is None or x > best: best = x print(best)
Кратко: задача решается одним проходом по массиву, времени O(N), памяти O(1) помимо хранения массива. Пример с данными из задачи даёт ответ 96. Если нужны ещё примеры или другой язык программирования — скажи, адаптирую.
Понравился ответ?
Задай свой вопрос
Напиши любую задачу или вопрос, а нейросеть её решит



