#include <stdio.h>
int countSetBits(unsigned int n) {
// Write your code here
int count = 0;
for (int i = 0; i < 32; i++){
if ((n >> i) & 0x1){
count+= 1;
}
}
return count;
}
int main() {
int n;
scanf("%d", &n);
printf("%d", countSetBits(n));
return 0;
}
Solving Approach
-> Shift each bit to LSB -> AND them with 0x1 -> increment the counter when the result is 1