用的递归
#include<bits/stdc++.h>
using namespace std;
void dg(int a){
for(int i=15;i>=0;i--){
if(pow(2,i)<=a){
if(i==1){
cout<<2;
return;
}
if(i==0){
cout<<"2\(0)";
return;
}
if(i==2){
cout<<"2\(1)";
return;
}
cout<<"2\(";
dg(i);
a-=pow(2,i);
if(a==0){
cout<<")";
return;
}
else{
cout<<"+";
dg(a);
cout<<")";
return;
}
}
}
}
int main(){
int n;
cin>>n;
dg(n);
}