题目大意:
给一个整数n,打印n的二进制形式中所有1的位置
解题思路:
无
代码如下:
#include<stdio.h>
int main()
{
int n,l,i,j,b[40],k;
long a;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
j=0;k=0;
scanf("%ld",&a);
while((a/2)!=0)
{
if((a%2)!=0)
{
b[k]=j;
k=k+1;
}
j=j+1;
a=a/2;
}
b[k]=j;
for(l=0;l<=(k-1);l++)
printf("%d ",b[l]);
printf("%d\n",b[k]);
}
return 0;
}