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

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

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

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

Примеры:

popcount(7)    -> 3   # 111
popcount(8)    -> 1   # 1000
popcount(255)  -> 8
def popcount(n):
    # ваш код (приём Кернигана: n &= n - 1)
    pass
Для запуска тестов необходима авторизация.
Поддержать проект