← К задачам
Количество единичных битов
Функция 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
Для запуска тестов необходима авторизация.