aboutsummaryrefslogtreecommitdiff
path: root/challenge-079/adam-russell/cpp/ch-1.cpp
blob: a1e03c7076d76dace4d0b78701259b0446976f58 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>

int count_bits(int n){
    int set_bits = 0;
    for(int i = 1; i <= n; i++){
        int x = i;
        while(x > 0){
            int b = x & 1;
            set_bits += b;
            x = x >> 1;
        }
    }
    return set_bits;
}

int main(int argc, char** argv){
    int set_bits = count_bits(3);
    std::cout << set_bits << " % 1000000007 = " << set_bits % 1000000007 << std::endl;
    set_bits = count_bits(4);
    std::cout << set_bits << " % 1000000007 = " << set_bits % 1000000007 << std::endl;
}