How to count the total set bits in all numbers from 1 to N in Python

1 Answer

0 votes
def count_set_bits(n): 
    count = 0
    while (n): 
        count += n & 1
        n >>= 1
    return count 
   
  
def count_total_set_bits(n): 
    setBitCount = 0; 
   
    for i in range(1, n + 1):
        setBitCount += count_set_bits(i)
   
    return setBitCount


   
n = 6

'''
0001
0010
0011
0100
0101
0110
'''
     
print(count_total_set_bits(n))



'''
run:
 
9
 
'''

 



answered Apr 12, 2019 by avibootz

Related questions

1 answer 205 views
1 answer 209 views
1 answer 175 views
1 answer 185 views
1 answer 206 views
1 answer 205 views
...