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

В файле 3.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10 000 до 10 000 включительно. Определите и запишите в ответе сначала количество троек элементов последовательности, сумма которых оканчивается на две единицы в двоичной системе счисления (для отрицательных сумм брать модуль). Затем — разность между максимальным и минимальным из всех элементов таких троек. Числа должны идти через пробел. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности. Например, для последовательности [1; 5; 9; 6; 5; 8; 2] ответом будет пара чисел: 3 и 8.

Две последние цифры в 2СС это остаток от деления на 4, 112  = 310  , значит остаток от деления числа в 10СС на 4 равен 3

f = open(’3.txt’)
a = [int(x) for x in f]
count = 0
minim = 10001
maxim = -10001
for i in range(len(a) - 2):
    if abs(a[i] + a[i + 1] + a[i + 2]) % 4 == 3:
        count += 1
        maxim = max([maxim, a[i], a[i + 1], a[i + 2]])
        minim = min([minim, a[i], a[i + 1], a[i + 2]])
print(count, maxim - minim)

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