题目链接:https://www.acwing.com/problem/content/description/803/
题目如下:
#include<iostream> using namespace std; const int N=100010; int num[N]; int main(){ int n; cin>>n; for(int i=0;i<n;++i) cin>>num[i]; for(int i=0;i<n;++i){ int ans=0; unsigned int number=num[i];//将整型转化为无符号整型 while(number){ if(number&1) ans++;//取最低位 number>>=1;//移除最低位 } cout<<ans<<' '; } cout<<endl; return 0; }