Menu
CoddyTech

Number of 1 Bits

Negatif olmayan bir tam sayı n veriliyor. n sayısını ikili biçimde yazın ve kaç basamağının 1 olduğunu döndürün. Bu sayı, ayarlanmış bit sayısı, nüfus sayımı veya Hamming ağırlığı olarak da adlandırılır. Örneğin, 6 ikili biçimde 110 şeklindedir, dolayısıyla iki adet 1 biti vardır.

Fonksiyon

hammingWeight(n: integer) → integer
ninteger
işaretli 32 bitlik bir int'e sığan negatif olmayan bir tam sayı
Döndürürinteger
n'nin ikili gösterimindeki 1 rakamlarının sayısı

Kısıtlar

  • 0 ≤ n ≤ 231-1

Örnekler

Girdi
n = 11
Çıktı
3
Açıklama
11, ikilik sistemde 1011 şeklindedir; bu da 8 + 2 + 1 eder. Dört ikilik basamağından üçü 1 olduğuna göre cevap 3'tür.
challenge icon

Ek soru

Bu işlev milyonlarca kez çalışsaydı, önceden hesaplanmış 256 sayımın bulunduğu bir tabloda dört arama yaparak 32 bitlik bir sayının bitlerini nasıl sayabilirdin?

Kodu sıfırla
def hammingWeight(n):
    # Kodu buraya yazın

Test #1

Test #2

Test #3

Argüman

n = 11

Beklenen Çıktı

3