为什么要像题解那样复杂?
查看原帖
为什么要像题解那样复杂?
321828
zqwzqwzqw楼主2020/11/11 12:48
#include<bits/stdc++.h>
using namespace std;
int main(){
	long long n,b[24]={0},a[24],c=2;
	cin>>n;
	if(n%2==1)
		cout<<-1;
	else{
		for(int i=1;i<=23;i++){
			a[i]=c;
			c*=2;
		}
		for(int i=23;i>=1;i--)
			if(a[i]<=n && b[i]==0){
				cout<<a[i]<<" ";
				n-=a[i];
				b[i]=1;				
			}
	}
	
	return 0;
}

22行解决!!

2020/11/11 12:48
加载中...