1 条题解

  • 0
    @ 2026-10-6 9:30:41
    #include<bits/stdc++.h>
    using namespace std;
    const int N=1e7;
    	
    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){
        	printf("-1");
        	return 0;
        }
        change(n);
        for(int i=idx;i>=1;i--)
            if (a[i]!=0) printf("%d ",a[i]);
        return 0;
    }
    
    • 1

    信息

    ID
    5
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    110
    已通过
    28
    上传者