50分,求助
查看原帖
50分,求助
324573
Sin_qwq楼主2020/11/9 22:36
#include<bits/stdc++.h>
using namespace std;
int n,step=-1;
int a[100000020];
int hh(int t)
{
	int c;
	step++;
	if(t>=1)
	{
	    c=t%2;
	    t=t/2;
	    if(c==1)
	    {
	    	a[step]++;
		}
	    hh(t);	
	}
	else
	{
		for(int i=step;i>=0;i--)
		{
			if(a[i]==1&&pow(2,i)!=n)
			{
				cout<<pow(2,i)<<" ";
			}
	        if(pow(2,i)==n)
	        {
	        	for(int j=i-1;j>=1;j--)
	        	{
	        		cout<<pow(2,j)<<" ";
				}
			}
		}
		cout<<endl;
	}
}
int main()
{
	cin>>n;
	if(n%2==0)
	{
		hh(n);
	}
	else
	{
		cout<<"-1"<<endl;
	}
	return 0;
}
2020/11/9 22:36
加载中...