提交时间:2022-10-02 11:59:48
运行 ID: 64999
#include<bits/stdc++.h> using namespace std; int n; int a[10000002],cnt; int main() { int i,j,k; scanf("%d",&n); if(n%2!=0) printf("-1"); else { for(i=1;;i++) { k=pow(2,i); if(k<n) { a[++cnt]=i; n-=k; } else if(k==n) { a[++cnt]=i; for(j=cnt;j>=1;j--) { int t=pow(2,a[j]); printf("%d ",t); } return 0; } else { i=a[cnt]; n+=pow(2,a[cnt--]); } } } return 0; }