https://codeforces.com/problemset/problem/579/A
解题思路:将n分解为多个2的几次幂相加,直接位运算找就行。。
#include<bits/stdc++.h>
using namespace std;
int ans=0;
int lowbit(int x)
{
return x&-x;
}
int main(void)
{
int x; cin>>x;
int ans=0;
while(x) ans++,x-=lowbit(x);
cout<<ans;
return 0;
}