# Python map function | Count total set bits in all numbers from 1 to n

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

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,

- Write a function which first converts number into binary using bin(num) function and returns count of set bits in it.
- 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.
- 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` `) ` |

*chevron_right*

*filter_none*

Output:

13

## Recommended Posts:

- Count total set bits in all numbers from 1 to n
- Count total set bits in all numbers from 1 to n | Set 2
- Python Bin | Count total bits in a number
- Count total bits in a number
- Python | Count set bits in a range
- Python | Count unset bits in a range
- Count set bits using Python List comprehension
- Check if bits of a number has count of consecutive set bits in increasing order
- Print numbers having first and last bits as the only set bits
- Python program to count Even and Odd numbers in a List
- Python program to count positive and negative numbers in a list
- Python list function | count()
- Python Numbers | choice() function
- Count set bits in a range
- Count set bits in an integer

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.