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

В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 1  до 10000  включительно. Определите количество таких пар чисел, в которых хотя бы одно число в двоичной системе счисления имеет не менее 5  единиц. В ответе запишите через пробел два числа: сначала количество найденных пар, а затем — максимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

Например для последовательности из шести элементов:

34  ; 55  ; 64  ; 36  ; 60  ; 48  ; Ответ: 2 119

def count_one(n):
    return bin(n)[2:].count(’1’)

f = open(’17.txt’)
a = [int(x) for x in f]
counter = 0
maxim = 0
c = 0

for i in range(len(a) - 1):
    if count_one(a[i]) >= 5 or count_one(a[i + 1]) >= 5:
        counter += 1
        maxim = max(maxim, a[i] + a[i + 1])
print(counter, maxim)

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