Related Articles
Python map function | Count total set bits in all numbers from 1 to n
• Last Updated : 30 Dec, 2017

Given a positive integer n, count the total number of set bits in binary representation of all numbers from 1 to n.

Examples:

```Input: n = 3
Output:  4
Binary representations are 1, 2 and 3
1, 10 and 11 respectively. Total set
bits are 1 + 1 + 2 = 4.

Input: n = 6
Output: 9

Input: n = 7
Output: 12

Input: n = 8
Output: 13
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

We have existing solution for this problem please refer Count total set bits in all numbers from 1 to n link. We can solve this problem in python using map() function. Approach is very simple,

1. Write a function which first converts number into binary using bin(num) function and returns count of set bits in it.
2. Map user defined function on list of numbers from 1 to n and we will get list of individual count of set bits in each number.
3. Sum up count of all set bits.
 `# Function to Count total set bits in all numbers``# from 1 to n`` ` `# user defined function``def` `countSetBit(num):`` ` `     ``# convert decimal value into binary and``     ``# count all 1's in it``     ``binary ``=` `bin``(num)`` ` `     ``return` `len``([ch ``for` `ch ``in` `binary ``if` `ch``=``=``'1'``])`` ` `# function which count set bits in each number``def` `countSetBitAll(``input``):``     ` `    ``# map count function on each number``    ``print` `(``sum``(``map``(countSetBit,``input``)))`` ` `# Driver program``if` `__name__ ``=``=` `"__main__"``:``    ``n ``=` `8``    ``input``=``[]``    ``for` `i ``in` `range``(``1``,n``+``1``):``         ``input``.append(i)``    ``countSetBitAll(``input``)`

Output:

```13
```

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course

My Personal Notes arrow_drop_up