#include <stdio.h>
int countSetBits(unsigned int n) {
// Write your code here
int count = 0;
while (n>0) {
n=n&(n-1);
count++;
}
return count;
}
int main() {
int n;
scanf("%d", &n);
printf("%d", countSetBits(n));
return 0;
}
Solving Approach
Brian Kernighan's Logic: N&(N-1) Instead of checking every bit ,it will remove a set bit at a time