求大佬帮忙看一下
#include<bits/stdc++.h>
using namespace std;
int n;
string ans;
void mi(int m){
int i=0;
int l=m;
while(l!=0){
if(l%2==1){
if(i==0||i==1||i==2){
if(i==1){
ans+="2+";
}else if(i==0){
ans+="2(0)+";
}else{
ans+="2(2)+";
}
}else{
ans+="2(";
mi(i);
ans+=")+";
}
}
i++;
l=l/2;
}
return ;
}
int main() {
cin>>n;
mi(n);
int uj=ans.length();
for(int i=0;i<uj;i++){
if(ans[i]=='+'&&ans[i-1]=='('||ans[i]=='+'&&ans[i+1]==')'){
ans[i]=' ';
}
}
for(int i=0;i<uj-1;i++){
if(ans[i]==' '){
continue;
}else{
cout<<ans[i];
}
}
return 0;
}