#include<stdio.h>
int main() {
int N,temp,count=; // 存储测试数据的二进制形式中1的个数
int bian[N]; // 输入十进制整数N 表示N行测试数据
scanf("%d",&N); // 循环读入
while(scanf("%d",&temp)!=EOF) {
bian[count]=; // 逐一计算二进制形式中1的个数 参考百度经验:http://jingyan.baidu.com/article/fc07f9892e245612ffe51909.html
while(temp!=) {
if(temp%!=) {
// 不能整除2的记录1
bian[count]++;
}
// 除以2更新下一个被除数 当被除数变为0时 说明结束
temp=temp/;
}
count++;
} // 输出N行测试数据结果
for(int i=; i<N; i++) {
printf("%d\n",bian[i]);
}
return ;
}
/*
pkuic_2709.c
计算概论(A)/基础编程练习2(8题)/8:1的个数
http://pkuic.openjudge.cn/base2/8
8:1的个数
查看 提交 统计 提问
总时间限制: 1000ms 内存限制: 65536kB
描述
给定一个十进制整数N,求其对应2进制数中1的个数
输入
第一个整数表示有N组测试数据,其后N行是对应的测试数据,每行为一个整数。
输出
N行,每行输出对应一个输入。
样例输入
4
2
100
1000
66
样例输出
1
3
6
2
*/
05-01 22:29