一个数中1的个数;
#include <iostream>
using namespace std;
int sev[22];
int findone(int n)
{
int c;
for(c=0;n!=0;c++)
n&=n-1;
return c;
}
int main()
{
int n(1),t,s;
memset(sev,0,sizeof(sev));
cin>>t;
for(int i=1;i<=20;i++)
{
for(int j=n;j<n*2;j++)
sev[i]+=findone(j);
n=n*2;
}
while(t--)
{
cin>>s;
cout<<sev[s]<<endl;
}
return 0;
}