码迷,mamicode.com
首页 > 其他好文 > 详细

Openjudge-计算概论(A)-1的个数

时间:2015-02-16 22:05:32      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:

描述:

给定一个十进制整数N,求其对应2进制数中1的个数输入第一个整数表示有N组测试数据,其后N行是对应的测试数据,每行为一个整数。输出N行,每行输出对应一个输入。样例输入

4
2
100
1000
66

样例输出

1
3
6
2
思路:本题很简单辗转相除判断如果是1,计数器++就得了,没什么好好讲的。不过要特别注意:0要单独考虑,否则会超时的!!
代码如下:
 1 #include<stdio.h>
 2 int main()
 3 {
 4    int n,a,i,t;
 5    scanf("%d",&n);
 6    for(i=0;i<n;i++) 
 7     {
 8       t=0;//计数器
 9       scanf("%d",&a);
10       if(a==0) printf("0\n");//如果是0,输出(这一步很重要)!!
11       else
12       {
13           while(a!=1)
14       {
15           if(a%2==1)
16           {
17           t++;                  
18           }
19           a=a/2;
20       }
21       t++;
22       printf("%d\n",t);
23          }       
24     }        
25     return 0;
26 }

 

 

Openjudge-计算概论(A)-1的个数

标签:

原文地址:http://www.cnblogs.com/geek-007/p/4294521.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!