#include <iostream>
using namespace std;
int lowbit(int a)
{
return a&(-a);
}
int main()
{
//jingen
int T=2;
while(T--)
{
int a;
int num=0;
cin>>a;
while(a)
{
a-=lowbit(a);
num++;
}
cout<<num<<endl;
}
return 0;
}
对两个数分别求其二进制下一的个数,用lowbit(求最右边1的个数)进行计算,并用num进行计数。参与链接

京公网安备 11010502036488号