fffngzzh • 4年前
#include<bits/stdc++.h>
using namespace std;
int a[404],step=0;//step用来统计a数组的元素数量
int main()
{
//freopen("power.in","r",stdin);
//freopen("power.out","w",stdout);
int n;
cin>>n;//标准输入
if(n&1)//第一位是否为1决定了它是奇数还是偶数
{
cout<<"-1"<<endl;
return 0;
}
for(int i=2;n>0;i<<=1)//i表示这一位在十进制中表示的数
{
n=(n>>1);//一位一位枚举
if(n&1)//哪一位是1
{
a[step++]=i;//就存数组里
}
}
for(int i=step-1;i>=0;i--)
{
cout<<a[i]<<" ";//记住要从大到小输出
}
cout<<endl;
return 0;
}
评论: