Умение составить алгоритм обработки числовой последовательности и записать его в виде простой программы (10–15 строк) на языке программирования · 8 заданий
- Задание №17№17
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от −10 000 до 10 000 включительно. Опред…
Массивы и сортировка
- Задание №17№17
Рассматривается множество целых чисел, принадлежащих числовому отрезку [1016; 7937], которые делятся на 3 и не делятся на 7, 17, 19, 27. Найдите колич…
Массивы и сортировка
- Задание №17№17
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10000 до 10000 включительно. Определ…
Массивы и сортировка
- Задание №17№17
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10000 до 10000 включительно. Определ…
Массивы и сортировка
- Задание №17№17
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10000 до 10000 включительно. Определ…
Массивы и сортировка
- Задание №17№17
В файле содержится последовательность натуральных чисел, каждое из которых не превышает 100 000. Определите количество троек элементов последовательно…
Массивы и сортировка
- Задание №17№17
В файле содержится последовательность целых чисел. Её элементы могут принимать целые значения от –100 000 до 100 000 включительно. Определите количест…
Массивы и сортировка
- Задание №17№17
Задание выполняется с использованием прилагаемых файлов. В файле содержится последовательность целых чисел. Её элементы могут принимать целые значения…
Массивы и сортировка
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10000 до 10000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых оба числа оканчиваются на одну и ту же нечётную цифру, затем максимальное из произведений модулей элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Правильный ответ
227 96784219
Пояснение
Решение:
Читаем файл в список и перебираем пары соседних элементов (ai, ai+1).
Последнюю цифру берём как остаток от деления модуля числа на 10: у отрицательных чисел в Python обычный остаток даёт не ту цифру (например, −9578mod10=2, а оканчивается число на 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