题目:
题解:
lowbit是取出一个数最后一位二进制的操作
代码:
#include<bits/stdc++.h>
using namespace std;
int lowbit(int x){
return x&-x;
}
int main(){
int n;
scanf("%d",&n);
for(int i=0;i<n;i++){
int x;
scanf("%d",&x);
int res=0;
while(x)x-=lowbit(x),res++;
printf("%d ",res);
}
}