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