मान लीजिए हमारे पास एक संख्या n है, हमें उस संख्या के बाइनरी प्रतिनिधित्व में बिट 1 की संख्या ढूंढनी है।
उदाहरण के लिए, यदि इनपुट 12 है, तो आउटपुट 2 होगा।
इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे:
- count := 0
- जब तक n शून्येतर है, करें:
- count := count + (n AND 1)
- n := n/2 का फ्लोर
- count वापस करें
उदाहरण
class Solution:
def solve(self, n):
count = 0
while n:
count += n & 1
n >>= 1
return count
ob = Solution()
print(ob.solve(12))
इनपुट
12
आउटपुट
2