#include<bits/stdc++.h>
using namespace std;
int main()
{
long long int n , i = 0 , j , f[100001] = {0};
string s;
cin >> n;
if( n % 2 == 1 )
{
cout << -1 << endl;
return 0;
}
while( n )
{
i++;
if( n & 1 )
f[i] = 1;
n = n >> 1;
}
for( i = 32 ; i >= 1 ; --i )
if( f[i] )
cout << pow( 2 , i - 1 ) << ' ';
return 0;
}
这个程序只有80分,大佬们看下有啥问题(数组我怕小了存不下又懒得算有几位了,就开得很大)