Giả sử chúng ta có một số n, chúng ta phải tìm số bit 1 có trong biểu diễn nhị phân của số đó.
Vì vậy, nếu đầu vào là 12, thì đầu ra sẽ là 2
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- số lượng:=0
- trong khi n khác 0, hãy thực hiện
- count:=count + (n AND 1)
- n:=tầng của (n / 2)
- số lần trả lại
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
Ví dụ
class Lời giải:def giải (self, n):count =0 while (n):count + =n &1 n>> =1 return countob =Solution () print (ob.solve (12))Đầu vào
12Đầu ra
2