话说 `1<<i` 是 $\mathcal{O}(1)$ 的吧?
by int64 @ 2021-12-26 12:13:44
%%%%%%%
by majingtong @ 2021-12-26 12:13:59
原来如此
by majingtong @ 2021-12-27 20:56:06
```cpp
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int n,c=-1;
cin>>n;
if(n%2==1)
{
cout<<"-1";
return 0;
}
else
{
int a[100]={0},i;
for(i=0;n!=0;i++)
{
a[i]=n%2;
n=n/2;
}
for(int j=i;j>=0;j--)
{
if(a[j]!=0)
{
cout<<int(pow(2,j))<<" ";
}
}
}
return 0;
}
```
by asasasas @ 2022-07-31 09:09:42