题解:P7071 [CSP-J2020] 优秀的拆分
作者:Igallta。(813622)
请勿抄袭。
思路
二进制操作题。
首先,根据题意,如果给定的 -1。
然后,根据题意就可以发现是要把
看到这个,你会想到什么?是不是特别像二进制转十进制的计算方式?
也就是说我们从大到小找到
代码:
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n;
signed main(){
ios::sync_with_stdio(0);
cin>>n;
if(n&1)cout<<-1;
else{
for(int i=32;i>=1;i--){
if(n&(1<<i)){
cout<<(1<<i)<<' ';
}
}
}
return 0;
}