神犇看看
查看原帖
神犇看看
309803
tlzhy楼主2021/1/24 23:39
#include<iostream>
using namespace std;
int a[100]={2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072,262144,524288,1048576,2097152,4194304,8388608};
int main(){
	int k,t=0,n=1;
	cin>>k;
	if(k%2!=0)cout<<-1;
	else
	{
		for(int i=0;i<22;i++)
			while(a[i]>=k)
			{	
				if(k==a[i])
				{
					cout<<a[i];
					return 0;	
				}
				else
				{
					t=a[i-1];
					cout<<t<<' ';
					n++;
					if((k-a[i-1])==2)
					{
						cout<<2;
						return 0;
					}
					else
					{
						k-=a[i-1];
					}
				}
			}
	}
	//for(int i=1;i<=10000000;i*=2)cout<<i<<endl;
	return 0;
}
2021/1/24 23:39
加载中...