1383: 给一整数,输出二进制下1的位置。
The position of the least significant bit is 0
Sample Input
1
13
Sample Output
0 2 3
由于从最小端开始逆序输出,因此采用取模的方法。
由于不知道最后一位什么时候输出,因此空格放在头部判断。
The position of the least significant bit is 0
Sample Input
1
13
Sample Output
0 2 3
由于从最小端开始逆序输出,因此采用取模的方法。
由于不知道最后一位什么时候输出,因此空格放在头部判断。
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int d;
int n;
int pos=0;
bool ishead=true;
cin>>d;
for(int i=0;i<d;i++)
{
cin>>n;
ishead=true;
pos=0;
while(n)
{
if(n%2==1)
{
if(ishead)
ishead=false;
else
cout<<" ";
cout<<pos;
}
n/=2;
pos++;
}
cout<<endl;
}
}