(М. Шагитов) В файле содержится последовательность целых чисел. Элементы последовательности – четырёхзначные натуральные числа. Найдите все тройки элементов последовательности, для которых восьмеричная запись суммы любой пары чисел тройки не содержит цифру \(7,\) а сумма всех чисел тройки меньше, чем среднее арифметическое всех нечётных чисел в файле. В ответе запишите количество найденных троек, затем максимальную из сумм элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.
Решение:
Python
nums = [int(x) for x in open('5249.txt')]
odd = [x for x in nums if x % 2 == 1]
avg = sum(odd) / len(odd)
q, ms = 0, 0
for a, b, c in zip(nums, nums[1:], nums[2:]):
pairs = ((a, b), (a, c), (b, c))
oct_pairs = [oct(sum(p))[2:] for p in pairs]
if all('7' not in z for z in oct_pairs) and a + b + c < avg:
q += 1
ms = max(ms, a + b + c)
print(q, ms)
Ответ: \(25 \,\, 5750\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене