描述
小南刚学了二进制,他想知道一个数的二进制表示中有多少个1,你能帮他写一个程序来完成这个任务吗?
- 输入
- 第一行输入一个整数N,表示测试数据的组数(1<N<1000)
- 每组测试数据只有一行,是一个整数M(0=<M<=10000)
- 输出
- 每组测试输出占一行,输出M的二进制表示中1的个数
- 样例输入
- 3
- 4
- 6
- 7
- 样例输出
- 1
- 2
- 3
1 #include <stdio.h> 2 3 int main(){ 4 int T; 5 int n; 6 int amount; 7 8 scanf("%d",&T); 9 10 while(T--){ 11 scanf("%d",&n); 12 13 amount=0; 14 while(n){ 15 if(n%2==1) 16 amount++; 17 18 n/=2; 19 } 20 21 printf("%d ",amount); 22 } 23 return 0; 24 }