Задача #1784
Обработка массивов
В файле содержится последовательность натуральных чисел, каждое из которых не превышает 100 000.
Определите количество троек элементов последовательности, в которых все три элемента являются чётными числами или в которых есть хотя бы одно двузначное число. А также сумма элементов тройки не больше максимального элемента последовательности, оканчивающегося на 13. Гарантируется, что в последовательности есть хотя бы одно число, оканчивающееся на 13.
В ответе запишите количество найденных троек чисел, затем целую часть среднего арифметического сумм из элементов таких троек.
В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.
Для такого файла
10
10
10
20
Ответом будут числа: 2 35.
Целая часть среднего арифметического сумм из элементов подходящих троек это: ((10+10+10) + (10+10+20)) / 2 = 35.
Решение
Ответ
Видео по задаче
with open('17.txt') as file:
a = [int(s) for s in file]
a_osob = [x for x in a if x % 100 == 13]
osob = max(a_osob)
otv = []
for i in range(0, len(a)-2):
first = a[i]
second = a[i+1]
third = a[i+2]
u1 = (first % 2 == 0) and (second % 2 == 0) and (third % 2 == 0)
u2 = (10 <= first <= 99) or (10 <= second <= 99) or (10 <= third <= 99)
if u1 or u2:
if (first + second + third) <= osob:
otv.append(first + second + third)
print(len(otv), sum(otv)//len(otv))