1 solutions

  • 0
    @ 2025-5-31 10:19:39
    #include<bits/stdc++.h>
    using namespace std;
    string dfs(int x)
    {
    	string res; 
    	for(int i=20;i>=0;i--)
    	{
    		if(x>>i&1) //2^i次方存在 
    		{
    			if(res.size()) res+='+';
    			if(!i) res+="2(0)";
    			else if(i==1) res+="2";
    			else res+="2("+dfs(i)+")";
    		}
    	}
    	return res;
    }
    int main()
    {
    	int n;
    	cin>>n;
    	cout<<dfs(n);
    	return 0;
    }
    • 1

    Information

    ID
    239
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    5
    Tags
    # Submissions
    16
    Accepted
    9
    Uploaded By