#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<cstdlib>
#include<algorithm>
using namespace std;
int a[20]={0},q=0;
int doit(int n){
while(n){
if(n&1){
a[q]=1;
}
q++;
n>>=1;
}
q--;
for(int i=q;i>=0;i--){
if(a[i]==1){
if(i!=q){
cout<<"+";
}
cout<<"2";
if(i!=1){
cout<<"(";
if(i==0){
cout<<"0";
}else if(i==2){
cout<<"2";
}else{
doit(i);
}
cout<<")";
}
}
}
}
int main(){
int n;
cin>>n;
doit(n);
return 0;
}
一个n,一个q,一个a[20]的数组也报数据?