题解
2026-08-23 13:51:38
发布于:浙江
0阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int main(){
long long x;
cin>>x;
if(x%2!=0){
cout<<-1;
return 0;
}
int a[123];
int num=1;
for (int i = 28; i >= 1; i--) {
long long w=(1<<i);
if (x>=w) {
a[num]=w;
num+=1;
x-=w;
}
}
if(x>0){
cout<<-1;
return 0;
}
else{
for(int i=1;i<=num-1;i++){
cout<<a[i]<<" ";
}
}
return 0;
}
这里空空如也



有帮助,赞一个