方法一:
#include <iostream>
using namespace std;
int main() {
long long n;
int count = 0;
cin >> n;
while(n)
{
if(n % 2 == 1)
{
count++;
}
n /= 2;
}
cout << count << endl;
}
// 64 位输出请用 printf("%lld")
方法二:使用位运算
#include <iostream>
using namespace std;
int main() {
long long n;
int count = 0;
cin >> n;
while(n)
{
count += n & 1;
n >>= 1;
}
cout << count << endl;
}

京公网安备 11010502036488号