i不是`sqrt(n)`吧
n=8时有误
把i改成n
by 渡鸦2007 @ 2020-11-12 19:57:03
@[intelligent_boy](/user/215915)
如果n==8
你的输出是`4 2 -1`
by 渡鸦2007 @ 2020-11-12 19:57:49
```cpp
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,n,m,i,j,sum=0;
cin>>n;
if(n%2==1)
{
cout<<-1;
return 0;
}
for(i=n;i>=1;i--)
{
if(n>=pow(2,i))
{
sum=pow(2,i);
cout<<sum<<" ";
n-=pow(2,i);
}
if(n==0)
return 0;
}
cout<<-1;
return 0;
}
```
by 渡鸦2007 @ 2020-11-12 19:58:58
谢
by Caim_Astraea @ 2020-11-12 20:07:17
完了,我第一题就90分,qwq
by Caim_Astraea @ 2020-11-12 20:10:37
用math的pow方法,2^23是科学计数法显示
by ab133fdl @ 2020-11-13 14:53:08