#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进行计数。参与链接