从大到小孩子~~(我居然把橙题看了那么久)~~![](//图.tk/9)
by flame_soul @ 2022-07-20 18:46:23
@[julihui325](/user/553577)
by flame_soul @ 2022-07-20 18:47:03
```cpp
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int a[27];
int main(){
int n,i,m,t;
cin>>n;
m=n;
if(n%2==1||n==0){
cout<<"-1";
return 0;
}
i=0;
while(n){
a[i]=n-n/2*2;
i++;
n/=2;
}
for(int j=i-1;j>=1;j--)
if(a[j]==1){
t=pow(2,j);
cout<<t<<" ";
}
return 0;
}
```
by mese @ 2022-07-20 18:50:11
```
#include<iostream>
#include<cstdio>
using namespace std;
int a[27],ans[10001],tot;
int main(){
int n,i,m,t;
cin>>n;
m=n;
if(n%2==1||n==0){
cout<<"-1";
return 0;
}
i=0;
t=2;
while(m>0){
i++;
m/=2;
a[i]=t;
t*=2;
}
// cout<<i<<' ';
// for(int j=1;j<=i;j++)
// cout<<a[j]<<' ';
// cout<<endl;
m=n;
int len=i,j=i;
i=1;
m/=2;
while(j){
// cout<<m<<' ';
if(m%2==1){
ans[++tot]=a[i];
}
j=len-i;
i++;
m/=2;
}
for(int i=tot;i>=1;i--)
cout<<ans[i]<<' ';
return 0;
}
```
by flame_soul @ 2022-07-20 19:22:44
在你原基础上改的
by flame_soul @ 2022-07-20 19:23:22
谢谢大佬们
by julihui325 @ 2022-07-21 12:55:37
@[ABcED](/user/483314)
在循环里用pow会超时吗
by julihui325 @ 2022-07-21 13:07:04
```latex
这题不会超时啦,不过确实用pow确实也不太好
```
by mese @ 2022-07-21 13:22:02
```
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int a[27];
int main(){
int n,i,m,t;
cin>>n;
m=n;
if(n%2==1||n==0){
cout<<"-1";
return 0;
}
i=0;
t=2;
while(n){
a[i]=n-n/2*2;
i++;
n/=2;
}
m=n;
int j;
for(j=i-1;j>=1;j--){
if(a[j]==1){
cout<<pow(2,j)<<" ";
}
}
return 0;
}```
这次80。。。
by julihui325 @ 2022-07-21 13:27:20
@[ABcED](/user/483314) 哦哦
by julihui325 @ 2022-07-21 13:29:06