(М. Шагитов) В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от \(0\) до \(10~000.\) Найдите все пары элементов последовательности, в которых оба элемента пары в шестнадцатеричной записи имеют нечётное количество цифр «\(B\)», а сумма чисел пары меньше, чем максимальный элемент последовательности кратный \(123.\) В ответе запишите количество найденных пар, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение:
Python
nums = [int(x) for x in open('5180.txt')]
m123 = max(n for n in nums if n % 123 == 0)
q, ms = 0, 0
for pair in zip(nums, nums[1:]):
if all(hex(n).count('b') % 2 == 1 for n in pair) \
and sum(pair) < m123:
q += 1
ms = max(ms, sum(pair))
print(q, ms)
Ответ: \(91 \,\, 9961\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене