#include <bits/stdc++.h>
using namespace std;
int n;
int main() {
cin>>n;
if(n%2==1) {
cout<<-1;
return 0;
} else {
bitset<sizeof(int)*10000>b(n);
for(int i=sizeof(b)-1; i>0; i--) {
if(b[i]==1) {
cout<<pow(2,i)<<" ";
continue;
}
}
}
return 0;
}
我的做法只能拿80pts,剩下的应该是因为科学计数法出错,大佬求调。