/*
* 输入一个正整数n,打印出它的二进制
* 中所有1的位置。如输入13,输出0 2 3
* xtfggef 2012/5/17
*/
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int n = 0;
vector<int> a;
printf("input a value:\n");
cin >> n;
while(n)
{
a.push_back(n%2);
n=n/2;
}
vector<int>::iterator it;
for(it=a.begin();it!=a.end();it++)
{
cout << *it << " ";
}
cout << endl;
for(int i=0; i<=a.size(); i++)
{
if(a[i]==1)
cout << i << " " ;
}
cout << endl;
return 0;
}