Задание №17 — Обработка числовой информации
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10000 до 10000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых оба числа оканчиваются на одну и ту же нечётную цифру, затем максимальное из произведений модулей элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Правильный ответ
227 96784219
Пояснение
Решение:
Читаем файл в список и перебираем пары соседних элементов .
Последнюю цифру берём как остаток от деления модуля числа на 10: у отрицательных чисел в Python обычный остаток даёт не ту цифру (например, , а оканчивается число на 8).
Пара подходит, если у обоих чисел последние цифры совпадают и нечётны. Среди таких пар ищем максимальное произведение модулей.
a = [int(s) for s in open('44122_17.txt')]
count = 0
best = 0
for x, y in zip(a, a[1:]):
dx, dy = abs(x) % 10, abs(y) % 10
if dx % 2 == 1 and dx == dy:
count += 1
p = abs(x) * abs(y)
if p > best:
best = p
print(count, best) # 227 96784219Получаем 227 пар, наибольшее произведение модулей — 96784219.Ответ: 227 96784219