Menu
CoddyTech

Number of 1 Bits

Дано неотрицательное целое число n. Запишите n в двоичной системе и верните количество цифр 1 в его записи. Это количество также называют числом установленных битов, числом единичных битов или весом Хэмминга. Например, число 6 в двоичной системе — это 110, поэтому в нём два бита со значением 1.

Функция

hammingWeight(n: integer) → integer
ninteger
неотрицательное целое число, которое помещается в знаковое 32-битное целое число
Возвращаетinteger
количество единиц в двоичной записи числа n

Ограничения

  • 0 ≤ n ≤ 231-1

Примеры

Ввод
n = 11
Вывод
3
Пояснение
11 в двоичной системе — это 1011, то есть 8 + 2 + 1. Три из четырёх двоичных цифр равны 1, поэтому ответ — 3.
challenge icon

Дополнительный вопрос

Если бы эта функция выполнялась миллионы раз, как можно было бы подсчитать количество битов в 32-битном числе с помощью четырёх обращений к таблице из 256 заранее вычисленных значений?

Сбросить код
def hammingWeight(n):
    # Напишите код здесь

Тест #1

Тест #2

Тест #3

Аргумент

n = 11

Ожидаемый вывод

3