Умение составить алгоритм обработки числовой последовательности и записать его в виде простой программы (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 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых оба числа оканчиваются на нечётные цифры, различные для элементов в паре, затем минимальное из произведений модулей элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Правильный ответ
1020 17197
Пояснение
Решение:
Считаем файл в список целых чисел и просмотрим все пары соседних элементов (ai, ai+1) — их на единицу меньше, чем самих чисел.
Последняя цифра числа — это остаток от деления его модуля на 10. Модуль здесь принципиален: в Python для отрицательных чисел остаток считается по-другому, например −3119mod10=1, хотя число оканчивается на 9.
Пара подходит, если обе последние цифры нечётные и при этом различны. Одновременно со счётчиком ведём минимум произведения модулей элементов пары.
a = [int(s) for s in open('44118_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) # 1020 17197Программа находит 1020 подходящих пар, наименьшее произведение модулей равно 17197.Ответ: 1020 17197