В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от \(0\) до \(10~000.\) Определите количество пар элементов последовательности, в которых хотя бы у одного из чисел сумма цифр троичной записи равна сумме цифр троичной записи максимального элемента последовательности, кратного \(11.\) В ответе запишите количество найденных пар, затем минимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение:
Python
def conv(n):
alph = '012'
ans = ''
while n:
ans = alph[n % 3] + ans
n //= 3
return ans
nums = [int(z) for z in open('5056.txt')]
m11 = max(z for z in nums if z % 11 == 0)
s11 = sum(int(x) for x in conv(m11))
q, ms = 0, float('inf')
for p in zip(nums, nums[1:]):
if any(sum(int(x) for x in conv(z)) == s11 for z in p):
q += 1
ms = min(ms, sum(p))
print(q, ms)
Ответ: \(2886 \,\, 2085\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене