3 条题解

  • 1
    @ 2022-5-23 22:44:05
    #include<bits/stdc++.h>
    using namespace std;
    long long q,w,e,r,t,y,u,i,o,p,s,d,f,g,h,j,k,l,m,n,v,x,z,kk;
    int b[1000];
    int a[1000];
    int c[1000];
    int main()
    {
    	cin>>n;
    	if(n%2==1)
    	{
    		cout<<"-1";
    		return 0;
    	}
    	i=1;x=2;
    	while(n!=0)
    	{
    		if(x*2<=n)
    		x*=2;
    		if(x*2>n)
    		{
    			n-=x;
    			cout<<x<<" ";
    			x=2;
    		}
    		
    		
    		i++;
    	}
    	return 0;
    }
    
    • 0
      @ 2023-10-22 12:57:34
      #include <bits/stdc++.h>
      using namespace std;
      int main()
      {
      	int n;
      	int a[101];
      	cin>>n;
      	if (n % 2 == 1)
      	{
      		cout<<-1;
      		return 0;
      	}
      	int t = 1;
      	int k = 0;
      	while (n != 0)
      	{
      		if (n % 2 != 0)
      		{
      			k++;
      			a[k] = t;
      		}
      		t = t*2;
      		n = n/2;
      	}
      	for (int i = k;i >= 1;i--)
      	{
      		cout<<a[i]<<" ";
      	}
      	return 0;
      }
      
      • 0
        @ 2022-6-28 21:45:06
        #include<iostream>
        #include<cmath>
        using namespace std;
        int n;
        int main(){
        	cin>>n;
        	if(n%2==1){
        		cout<<-1<<endl;
        		return 0;
        	}
        	while(n){
        		int k=pow(2,int(log2(n)));
        		cout<<k<<" ";
        		n-=k;
        	}
        	return 0;
        }
        
        • 1

        信息

        ID
        5971
        时间
        1000ms
        内存
        256MiB
        难度
        1
        标签
        递交数
        32
        已通过
        15
        上传者