```cpp
#include <bits/stdc++.h>
using namespace std;
long long n, maxn = INT_MIN;
int main()
{
cin >> n;
if(n % 2)
{
cout << -1;
return 0;
}
else
{
for(int i = 30; i >= 1; i--)
{
if(n < pow(2, i)) continue;
cout << pow(2, i) << " ";
n -= pow(2, i);
}
}
return 0;
}
```
by 159号程序员 @ 2021-08-11 12:42:45
@[159号程序员](/user/334586) pow 前面加个 (ll) 试试?
by Eason_AC @ 2021-08-11 12:47:42
@[Eason_AC](/user/112917) az,A了,感谢
by 159号程序员 @ 2021-08-11 12:48:53
此帖完结
by 159号程序员 @ 2021-08-11 12:49:16