#include <stdio.h>
unsigned int count_set_bits(unsigned int n) {
unsigned int count = 0;
while (n) {
count += n & 1;
n >>= 1;
}
return count;
}
unsigned int count_total_set_bits(unsigned int n) {
int setBitCount = 0;
for (int i = 1; i <= n; i++)
setBitCount += count_set_bits(i);
return setBitCount;
}
int main()
{
int n = 6;
/*
0001
0010
0011
0100
0101
0110
*/
printf("%i", count_total_set_bits(n));
return 0;
}
/*
run:
9
*/