Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมหาจำนวนบิต 1 ในจำนวนที่กำหนดใน Python


สมมติว่าเรามีตัวเลข n เราต้องหาจำนวนบิต 1 ที่มีอยู่ในการแทนค่าไบนารีของตัวเลขนั้น

ดังนั้นหากอินพุตเท่ากับ 12 เอาต์พุตจะเป็น 2

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • นับ :=0
  • ในขณะที่ n ไม่ใช่ศูนย์ ให้ทำ
    • นับ :=นับ + (n AND 1)
    • n :=ชั้นของ (n / 2)
  • จำนวนคืนสินค้า

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

ตัวอย่าง

คลาสโซลูชัน:def Solve(self, n):count =0 while (n):count +=n &1 n>>=1 return countob =Solution()print(ob.solve(12)) 

อินพุต

12

ผลลัพธ์

2