2471 - 【基础】二进制中1的个数

题目描述

给定一个长度为 n 的数列,请你求出数列中每个数的二进制表示中 1 的个数。 1≤n≤100000, 0≤数列中元素的值≤10^9

输入

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

输出

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

样例

输入

5
1 2 3 4 5

输出

1 1 2 1 2
说明

位运算两个最常见用法: 1、x>>i&1 可以算出整数x转成二进制后第i位的值

如:x=9,第3位二进制,9>>3&1,结果为0;

2、x&-x 可以算出整数x转成二进制后,最后一个1

如x=10 ,10&-10,结果为二进制10,整数值为2.
标签
题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 1
通过人数 1
金币数量 2 枚
统计
上一题 下一题