#include

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;
}
全部评论

相关推荐

2024-12-23 10:55
已编辑
大连理工大学 Java
牛客930504082号:华子综测不好好填会挂的,而且填的时候要偏向牛马选项
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务