递归法 还原转化二进制过程即可

int main(){
    int a;    //输入
    int i;  //控制循环
    int count;  //对1计数
    cin >> a;
    for(i = a;i > 1;i = 1/2){  //每次循环除2
    b = i % 2;  //除2取余
    if(b == 1)   //余数为1,count+++
        count ++;
   }
    cout << count + 1 << end;  //不要忘了最高位
}