#include <stdio.h> int countSetBits(unsigned int n) { int count = 0; int bits = 0; unsigned int temp = n; while (n > 0) { bits++; n >>= 1; // Divide by 2 } for(int i = 0; i < bits; i++) { if(temp & (1 << i)){ count++; } } return count; } int main() { int n; scanf("%d", &n); printf("%d", countSetBits(n)); return 0; }
Test Cases
Test Results
Input
5
Expected Output
2