二进制求 1 的个数
提交数: 12, 通过率: 75%, 平均分: 83
题目描述:
给定一个长度为 n 的数列,数列中的每个元素都是一个整数。对于数列中的每一个数,我们需要求出它的二进制表示中 1 的个数,并将这些个数输出。
输入格式:
输入的第一行是一个整数。
输出格式:
输出一行,包含 n个整数,第i 个整数表示数列中第 i 个数的二进制表示中 1 的个数。整数之间用空格分隔。
数据范围:
样例1解释
第一个数 4 的二进制表示为1000,其中 1 的个数为 1。
第二个数 8 的二进制表示为 1000,其中 1 的个数为 1。
第三个数 15 的二进制表示为 1111,其中 1 的个数为 4。
第四个数 16 的二进制表示为 10000,其中 1 的个数为 1。
第五个数 23 的二进制表示为 10111,其中 1 的个数为 4。
测试点 1−10 满足 1≤n≤1e3 ,0≤ai≤1e6。
测试点 11−20 满足 1≤n≤1e5 ,0≤ai ≤1e9 。
测试点 21−25 满足 1≤n≤1e6 ,0≤ai ≤1e9 。
样例输入:
5 4 8 15 16 23
样例输出:
1 1 4 1 4时间限制: 1000ms
空间限制: 256MB