counting-bits.cpp (634B)
1 #include <iostream> 2 #include <vector> 3 using namespace std; 4 5 //Runtime: 4ms Beats: 82.49% 6 //Memory: 7.6MB Beats: 98.89% 7 int num_zeroes(int num){ 8 int ones = 0; 9 while (num > 0){ 10 ones += num%2; 11 num = num/2; 12 } 13 return ones; 14 } 15 16 vector<int> countBits(int n) { 17 vector<int> out(n+1 , 0); 18 for(int i = 0 ; i <= n; ++i){ 19 out[i] = num_zeroes(i); 20 } 21 return out; 22 } 23 24 25 int main(){ 26 27 cout << "Input number: "; 28 int val = 0; 29 cin >> val; 30 vector<int> out = countBits(val); 31 for(int i = 0; i < out.size() ; ++i){ 32 cout << out[i] << " "; 33 } 34 cout << endl; 35 return 0; 36 }