#include <stdio.h>
int countSetBits(unsigned int n) {
// Write your code here
int count = 0;
while(n>0){
if(n&1){
count++;
}
n >>= 1;
}
return count;
}
int main() {
int n;
scanf("%d", &n);
printf("%d", countSetBits(n));
return 0;
}
Solving Approach
Check the LSB and right shift until the number as long as the number is greater than 0.