题解
2023-08-15 15:57:03
发布于:广东
2阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int a[100001],b[100001];
int main(){
int n;
int j=0,k=0;
cin>>n;
if(n%2){
cout<<-1;
return 0;
}
while(n!=0){
a[++j]=n%2;
n/=2;
}
long long q=1;
for(int i=1;i<=j;i++){
if(a[i]) b[++k]=q;
q*=2;
}
sort(b+1,b+k+1,greater<int>());
for(int i=1;i<=k;i++){
cout<<b[i]<<" ";
}
return 0;
}
这里空空如也
有帮助,赞一个