Задача к ЕГЭ по информатике на тему «обработка числовой последовательности» №6

В файле содержится последовательность целых чисел. Элементы последовательности – четырёхзначные натуральные числа. Найдите все тройки элементов последовательности, для которых восьмеричная запись произведения разрядов всех чисел из тройки представляет собой палиндром, а среднее арифметическое всех чисел тройки больше, чем среднее арифметическое всех чисел в файле, кратных 88  . В ответе запишите количество найденных троек, затем, через пробел, максимальную из сумм элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности

# Функция для перевода числа в 8-ю СС
def vosem(n):
    x=n
    s=’’
    while x>0:
        s=str(x%8)+s
        x=x//8
    return s

# Функция для нахождения произведения всех цифр числа
def p(n):
    pr = 1
    x = n
    while x>0:
        pr *= x % 10
        x = x // 10
    return pr

f = open(’17.txt’)
a = [int(s) for s in f.readlines()]
b=[x for x in a if x%88==0]
sr=sum(b)/len(b)
n=len(a)
counter = 0
maxim = -100000000000000000
for i in range(n - 2):
    x, y, z = a[i], a[i + 1], a[i+2]
    t=p(x)*p(y)*p(z)
    s=vosem(t)
    if s==s[::-1]:
        if (x+y+z)/3>sr:
            counter+=1
            maxim=max(maxim, x+y+z)
print(counter, maxim)

Ответ: 28760 29563
Оцените статью
Я решу все!