1.假如输出是0...
2.从大到小!别反编个函数从小到大!
3.不能直接输出pow(2,i),否则。。。↓
8.38861e+06 科学计数法:你好啊
送分题,我这个小菜也只用了15分钟:↓(AC代码)
#include<bits/stdc++.h>
using namespace std;
long long n,a[30];
int main(){
cin>>n;
if(n%2==1||n==0) cout<<-1;
else{
for(int i=1;i<=26;i++) a[i]=pow(2,i);
for(int i=26;i>=1;i--){
if(n!=0&&n-a[i]>=0){
n-=a[i];
cout<<a[i]<<" ";
}
if(n==0) break;
}
}
return 0;
}