#include <iostream>
using namespace std;
void caculate(int num){
int cnt = 0;
while(num != 0){
if(num%2 == 1){
cnt++;
}
num = num/2;
}
cout << cnt << endl;
}
int main() {
int num;
while(cin >> num){
caculate(num);
}
}
// 64 位输出请用 printf("%lld")
使用求余和触发,停止条件是 最后 1%2 = 1 1/2 = 0时,因为要计算最后一个1,所以是0的时候停下

京公网安备 11010502036488号