NOI2016真题——优秀的拆分_ios

//Author:PanDaoxi 
#include <iostream>
#include <cmath> 
using namespace std;
int n;
int main(){
	cin>>n;
	if(n%2==1){
		cout<<"-1"<<endl;
	} //20分到手
	else{
		for(int i=23;i>=1;i--){
			if(n>=pow(2,i)){ //依次减 
				n-=pow(2,i); //如果可以减,那么拆分
				cout<<pow(2,i)<<" "; //输出 
			}
		}
	} 
	
	return 0;
}

麻烦大家找找bug,程序不知道为啥没拿满分!