5 条题解

  • 0
    @ 2024-11-3 18:51:11

    最简代码

    #include<bits/stdc++.h>
    using namespace std;
    
    const int N=1e4+10;
    long long a;
    
    void f(int n){
    	int a[100],l=-1;
    	while(n){
    		a[++l]=n%2;
    		n/=2;
    	}
    	bool q=0;
    	for(int i=l;i>=0;i--){
    		if(a[i]){
    			if(q)cout<<"+";
    			else q=1;
    			if(i==0)cout<<"2(0)";
    			else if(i==1)cout<<2;
    			else{
    				cout<<"2(";
    				f(i);
    				cout<<")";
    			}
    		}
    	}
    }
    
    int main(){
    	cin>>a;
    	f(a);
    	return 0;
    }
    

    信息

    ID
    1226
    时间
    1000ms
    内存
    256MiB
    难度
    3
    标签
    递交数
    96
    已通过
    53
    上传者