Menu
CoddyTech

Number of 1 Bits

يُعطى لك عدد صحيح غير سالب n. اكتب n بالنظام الثنائي، وأعِد عدد أرقامه التي تساوي 1. يُسمّى هذا العدد أيضًا عدد البتات المضبوطة، أو عدد البتات ذات القيمة 1، أو وزن هامينغ. على سبيل المثال، العدد 6 هو 110 بالنظام الثنائي، لذا يحتوي على بتّين قيمتهما 1.

الدالة

hammingWeight(n: integer) → integer
ninteger
عدد صحيح غير سالب يمكن تمثيله في عدد صحيح موقّع من 32 بت
تُرجعinteger
عدد خانات 1 في التمثيل الثنائي للعدد 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