【模板】二进制中1的个数

给定一个长度为n的数列,请你求出数列中每个数的二进制表示中1的个数。

输入格式

第一行包含整数n。

第二行包含n个整数,表示整个数列。

输出格式

共一行,包含n个整数,其中的第 i 个数表示数列中的第 i 个数的二进制表示中1的个数。

数据格式

1≤n≤100000,
0≤数列中元素的值≤109

输入样例

1
2
5
1 2 3 4 5

输出样例

1
1 1 2 1 2

模板

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>

using namespace std;

int n;

int lowbit(int x)
{
return x & (-x);
}

int main()
{
cin >> n;

while(n --)
{
int x;
cin >> x;

int res = 0;

while(x) x -= lowbit(x), res ++;

cout << res << " ";
}

return 0;
}

【模板】二进制中1的个数
https://piscesfinalizer.github.io/2021/02/08/【模板】二进制中1的个数/
作者
PiscesFinalizer
发布于
2021年2月8日
许可协议