1的个数

描述

小南刚学了二进制,他想知道一个数的二进制表示中有多少个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\n",amount);
22     }
23     return 0;
24 }

 

posted @ 2014-11-14 16:09  zqxLonely  阅读(287)  评论(0编辑  收藏  举报