0
点赞
收藏
分享

微信扫一扫

NYOJ-100-1的个数-2013年10月12日14:59:46



1的个数



3000 ms  |  内存限制: 65535



1




第一行输入一个整数N,表示测试数据的组数(1<N<1000)

每组测试数据只有一行,是一个整数M(0=<M<=10000)

输出 每组测试输出占一行,输出M的二进制表示中1的个数 样例输入

3 4 6 7

样例输出

1 2 3


# include<stdio.h>

int change_shi_er(int c)
{
int m=c;
int n=c;
int num = 0;
int a[1000]={0},b[1000]={0},j,i=0;
while(m!=0)
{
n=m%2;
m=m/2;
a[i++] = n;
}
for(;i==0;i--);
i--;
j=0;
while(1)
{
b[j]=a[i];
if(b[j]==1)
num++;
j++;
i--;
if(i<0)
break;
}
printf("%d\n",num);
return 0;
}

int main()
{
int a,n;
scanf("%d",&n);
while(n--)
{
scanf("%d",&a);
change_shi_er(a);
}

return 0;
}



举报

相关推荐

0 条评论