(П. Волгин) В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от \(-1000\) до \(1000.\) Определите сначала количество пар чисел, в которых хотя бы один из элементов пары больше, чем сумма всех цифр «\(2\)» в троичной записи из модулей всех чисел в файле, кратных \(60,\) а затем максимальную из сумм таких пар. Под парой подразумевается два идущих подряд элемента последовательности.
Решение:
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('5016.txt')]
s2 = 2 * sum(conv(abs(z)).count('2') for z in nums if z % 60 == 0)
q, ms = 0, - float('inf')
for p in zip(nums, nums[1:]):
if any(z > s2 for z in p):
q += 1
ms = max(ms, sum(p))
print(q, ms)
Ответ: \(79 \,\, 1909\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене