紧急求助(2),有没有人能帮我解释一下代码,越全越好,悬关
  • 板块学术版
  • 楼主AceKnightPuppet
  • 当前回复6
  • 已保存回复6
  • 发布时间2023/10/20 20:19
  • 上次更新2023/10/22 12:56:56
查看原帖
紧急求助(2),有没有人能帮我解释一下代码,越全越好,悬关
1044557
AceKnightPuppet楼主2023/10/20 20:19
#include <bits/stdc++.h>
using namespace std;
int n,a[30],idx;
void change(int b){
    int res=0;
    while(b){
        if (b&1) a[res]=pow(2,res);
        res++;
        b>>=1;
    }
    idx=res;
}
int main(){
    scanf("%d",&n);
    if (n%2==1 || n==0){
    	cout<<"-1";
    	return 0;
    }
    change(n);
    for(int i=idx;i>=1;i--)
        if (a[i]!=0) 
		cout<<a[i]<<" ";
    return 0;
}
2023/10/20 20:19
加载中...