简单易懂(?的题解
2026-09-14 20:26:52
发布于:江西
11阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >> n;
if ( n%2==1){
cout << -1;
return 0;
}
bool a[(int)sqrt(n)]={};
int i=0;
while(n){
a[i]=n%2;
n/=2;
i++;
}
i--;
for ( ;i>=0;i--){
if(a[i]==1)cout << (int)pow(2,i) << ' ';
}
}
(int)pow是关键
虽然这里更好的是位运算,但是由于我不太掌握所以不用(?
这里空空如也


有帮助,赞一个