zoukankan      html  css  js  c++  java
  • Openjudge-计算概论(A)-1的个数

    描述:

    给定一个十进制整数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
    ");//如果是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
    ",t);
    23          }       
    24     }        
    25     return 0;
    26 }
     
    我不怕千万人阻挡,只怕自己投降…
  • 相关阅读:
    架构漫谈1
    如何将本地工程上传到github
    寒假日报day23
    寒假日报----首都之窗爬虫大作业
    寒假日报day22
    寒假日报day21
    关于webmagic的post请求
    寒假日报day20
    寒假日报day19
    吾日三省吾身(41)
  • 原文地址:https://www.cnblogs.com/geek-007/p/4294521.html
Copyright © 2011-2022 走看看