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

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

def cc_5(n):
 
    q = ’’
 
    k = n
 
    while k > 0:
 
        q = str(k % 5) + q
 
        k //= 5
 
    return q
 

 

 
def summa_ch(n):
 
    summa = 0
 
    k = n
 
    while k > 0:
 
        summa += (k % 10)
 
        k //= 10
 
    return summa
 

 

 
f = open(’dz17-30.txt’)
 
s = [int(_) for _ in f]
 
counter_31 = 0
 
summa_31 = 0
 
for i in range(len(s)):
 
    if s[i] % 31 == 0:
 
        counter_31 += 1
 
        summa_31 += s[i]
 
sr_31 = summa_31 / counter_31
 
ans = 0
 
minim = 10 ** 10
 
for i in range(len(s) — 2):
 
    sr = (s[i] + s[i + 1] + s[i + 2]) / 3
 
    if sr > sr_31:
 
        summa = summa_ch(s[i]) + summa_ch(s[i + 1]) + summa_ch(s[i + 2])
 
        summa = cc_5(summa)
 
        if summa == summa[::-1]:
 
            ans += 1
 
            minim = min(minim, s[i] + s[i + 1] + s[i + 2])
 
print(ans, minim)
 

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