17.02 Обработка троек элементов последовательности
Ошибка.
Попробуйте повторить позже
В файле(dz17-16.txt) содержится последовательность целых чисел. Элементы последовательности могут принимать значения от 0 до 200 включительно. Определите сначала количество троек элементов последовательности, в которых все три числа в двоичной системе счисления имеют ровно 3 единицы, а затем сумму максимальных чисел из таких троек. Под тройкой подразумевается три идущих подряд элемента последовательности. В ответе запишите числа через пробел: сначала количество, затем сумму максимальных.
Решение программой
Программа перебирает все подряд идущие тройки чисел из файла. Для каждой тройки преобразуем числа в двоичное представление при помощи встроенной функции bin и считаем количество единиц. Если во всех трёх числах ровно по 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:] # Проверяем, что в каждом числе ровно 3 единицы 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)
Специальные программы

Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение
Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!