我炸了,一年不如一年 /dk
#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;
typedef long long ll;
int n;
ll pre[105];
void getPre()
{
for (int i = 1; i <= 30; i++)
{
ll s = (ll)(pow(2, i));
pre[i] = pre[i - 1] + s;
}
}
int main()
{
cin >> n;
getPre();
for (int i = 1; i <= 30; i++)
for (int j = i; j <= 30; j++)
if (pre[j] - pre[i - 1] == n)
{
for (int k = j; k >= i; k--)
cout << (ll)(pow(2, k)) << " ";
puts("");
return 0;
}
puts("-1");
return 0;
}