Description
输出一个数n的二进制表示中1的位置
Input
一个整数n(1<=n<=100000)
Output
输出n的二进制表示中1的位置
Sample Input
3
Sample Output
2 1
Solution
水题
Code
#include<cstdio>
#include<iostream>
using namespace std;
#define maxn 22
int n,ans[maxn],res;
int main()
{
while(~scanf("%d",&n))
{
res=1;
while(n)
{
ans[res++]=n%2;
n/=2;
}
for(int i=res-1;i>0;i--)
if(ans[i])printf("%d ",i);
printf("\n");
}
return 0;
}