#include <stdio.h>

int main (void)
{
    int i;
    int j=0;
    int a[32];
    int n=0;
    while (scanf("%d", &i) != EOF)  /*一直输入i*/
    {
        n=0;                  /*每次转换初始化参数*/
        j=0;
        while  (i>=2)
        {
            a[j]=i%2;
            if (a[j]==1) n++;       
            i=i/2;
            j++;

        }

      n++;  //上述i>=2,i/2后>=1,从while出来后 是i<2 所以i只能为1 要放在最高位
      printf ("%d\r\n",n);     /*回车换行*/   

    }    
    return 0;
}
全部评论

相关推荐

11-03 14:57
西北大学 营销
Belltrix:其实就是每根转动一定的角度
点赞 评论 收藏
分享
算法冲刺中:kpi面加一,面完完全没动静,感谢信都没有
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务