1 条题解
信息
- ID
- 524
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 9
- 标签
- 递交数
- 16
- 已通过
- 4
- 上传者
从 log2n 向下枚举即可。
因为一个奇数必定有 20 ,所以直接 -1
。
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
if(n%2){
cout<<-1;
return 0;
}
int Pow=log(n)/log(2)+1;
for(Pow;Pow>=1;Pow--){
if(pow(2,Pow)<=n){
cout<<int(pow(2,Pow))<<" ";
n-=pow(2,Pow);
}
}
return 0;
}
注册一个 PYYG 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。