#include <bits/stdc++.h> using namespace std; int main(){ int a; cin>>a; if(a%2==1){ cout<<"-1"<<endl; return 0; } std::bitset<32>binary(a); for(int i=32;i>0;i--){ if(binary[i]==1) cout<<pow(2,i)<<" "; } cout<<endl; return 0; }
不知道为什么最后几个样例没过