90求调
查看原帖
90求调
836960
tanceyu楼主2024/7/23 18:14
#include<bits/stdc++.h>
using namespace std;
int a[23],b[23];
int main(){
	int n;
	cin>>n;
	if(n%2==1){
		cout<<-1;
	}else{	
		a[0]=2;
		a[1]=4;
		a[2]=8;
		a[3]=16;
		a[4]=32;
		a[5]=64;
		a[6]=128;
		a[7]=256;
		a[8]=512;
		a[9]=1024;
		a[10]=2048;
		a[11]=4096;
		a[12]=8162;
		a[13]=16384;
		a[14]=32768;
		a[15]=65536;
		a[16]=131072;
		a[17]=262144;
		a[18]=524288;
		a[19]=1048576;
		a[20]=2097152;
		a[21]=4194304;
		a[22]=8388608;
		for(int i=22;i>=0;i--){
			if(n>=a[i]){
				n-=a[i];
				b[i]=a[i];
			}
		}
		if(n!=0){
			cout<<-1;
		}else{
			for(int i=22;i>=0;i--){
				if(b[i]>0){
					cout<<b[i]<<" ";
				}
			}
		}
	}
	return 0;
}
2024/7/23 18:14
加载中...