311 条题解

  • 0
    @ 2026-6-6 15:36:12
    using namespace std;
    int n,a[1000];
    int main()
    {
        cin>>n;
        if(n%2==1)
        {
        	cout<<"-1";
        	return 0;
    	}
    	a[1]=1;
    	for(int i=2;i<=25;i++) a[i]=a[i-1]*2;
    	while(n!=0){
    		for(int i=25;i>=2;i--)
    		{
    			if(a[i]<=n)
    			{
    				n=n-a[i];
    				cout<<a[i]<<" ";
    			}
    		}
    	}
    	return 0;
    }
    
    

    信息

    ID
    104
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    270
    已通过
    68
    上传者