#include <stdio.h> int countSetBits(unsigned int n) { // Write your code here int count = 0; while(n!=0) { if(n&1==1) { count++; } n>>=1; } return count; } int main() { int n; scanf("%d", &n); printf("%d", countSetBits(n)); return 0; }
perform & with 1, every bit use >> to access every bitif result of & i s 1 increase count until given number is 0 finally return count.
Test Cases
Test Results
Input
5
Expected Output
2