为什么输出一堆数字???求大佬解答
#include<bits/stdc++.h>
using namespace std;
long long p[30],n;
int main(){
p[0]=1;
cin>>n;
for(int i=1;i<=30;i++){
p[i]=p[i-1]*2;
}
if(n%2!=0){
cout<<"-1";
return 0;
}
for(int i=30;i>=1;i--){
if(n<p[i]){
continue;
}else{
cout<<p[i]<<" ";
n-=p[i];
}
}
return 0;
}
氵金