801. 二进制中1的个数
https://www.acwing.com/problem/content/803/
签到题,利用按位与求数的二进制1的个数
也可以采用lowbit操作
#include<iostream>
using namespace std;
int n;
int a;
int main()
{
cin >> n;
for(int i=0;i<n;i++)
{
cin >> a;
int k=0;
while(a)k+=a&1,a>>=1;
cout << k << ' ';
}
return 0;
}
#include<iostream>
using namespace std;
int n;
int num;
int lowbit(int x)
{
return x & -x;
}
int main()
{
cin >> n;
for(int i=0;i<n;i++)
{
cin >> num;
int res=0;
while(num)num-=lowbit(num),res++;
cout << res << ' ';
}
return 0;
}