(П. Волгин) В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от \(0\) до \(1000.\) Определите сначала количество троек чисел, в которых хотя бы один из элементов троек больше, чем сумма всех цифр «\(3\)» в пятеричной записи всех чисел в файле, кратных \(32,\) а затем максимальную из сумм таких троек. Под тройкой подразумевается три идущих подряд элемента последовательности.
Решение:
Python
def conv(n):
alph = '01234'
ans = ''
while n:
ans = alph[n % 5] + ans
n //= 5
return ans
nums = [int(z) for z in open('5017.txt')]
s3 = 3 * sum(conv(z).count('3') for z in nums if z % 32 == 0)
q, ms = 0, -float('inf')
for tr in zip(nums, nums[1:], nums[2:]):
if any(z > s3 for z in tr):
q += 1
ms = max(ms, sum(tr))
print(q, ms)
Ответ: \(98 \,\, 2851\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене