← К задачам
Средне · +3Битовые приёмыБиты

Количество единичных битов

Функция popcount(n) возвращает число единичных битов в двоичной записи неотрицательного целого n. Реализуйте приём Кернигана: n &= n - 1 сбрасывает младший единичный бит, поэтому цикл делает ровно столько итераций, сколько в числе единиц.

Формат: вход — целое n ≥ 0; выход — количество битов, равных 1.

Примеры:

popcount(7)    -> 3   # 111
popcount(8)    -> 1   # 1000
popcount(255)  -> 8
📖 Теория по теме:Приёмы работы с битами
py
Курс по теме
Пройдите курс «Python с нуля» — по шагам, с проверкой
8 уроков · ~14 ч · теория, упражнения и экзамен с бейджем
Открыть курс →
def popcount(n):
    # ваш код (приём Кернигана: n &= n - 1)
    pass
Здесь появится результат. Напиши решение слева и нажми «Проверить код».
Для запуска тестов необходима авторизация.