В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от \(0\) до \(10~000.\) Определите количество пар элементов последовательности, в которых хотя бы у одного из чисел сумма цифр восьмеричной записи равна сумме цифр восьмеричной записи минимального элемента последовательности, кратного \(21.\) В ответе запишите количество найденных пар, затем минимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение:
Python
nums = [int(z) for z in open('5056.txt')]
m21 = min(z for z in nums if z % 21 == 0)
s21 = sum(int(x) for x in oct(m21)[2:])
q, ms = 0, float('inf')
for p in zip(nums, nums[1:]):
if any(sum(int(x) for x in oct(z)[2:]) == s21 for z in p):
q += 1
ms = min(ms, sum(p))
print(q, ms)
Ответ: \(1703 \,\, 2281\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене