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

В файле(dz17-16.txt) содержится последовательность целых чисел. Элементы последовательности могут принимать значения от 0 до 200 включительно. Определите сначала количество троек элементов последовательности, в которых все три числа в двоичной системе счисления имеют ровно 3 единицы, а затем сумму максимальных чисел из таких троек. Под тройкой подразумевается три идущих подряд элемента последовательности. В ответе запишите числа через пробел: сначала количество, затаем сумму максимальных.

f = open(’dz17-16.txt’)
s = [int(_) for _ in f]
counter = 0
summa = 0
for i in range(len(s) - 2):
    x1 = bin(s[i])[2:]
    x2 = bin(s[i + 1])[2:]
    x3 = bin(s[i + 2])[2:]
    if x1.count(’1’) == x2.count(’1’) == x3.count(’1’) == 3:
        counter += 1
        summa += max(s[i], s[i + 1], s[i + 2])
print(counter, summa)

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