十十十十十十十十十十十十十十十十十十十十十十
#include<bits/stdc++.h>
using namespace std;
int n,a[16]={1,2,4};
void initialize(){
for(int i=3;i<=15;i++){
a[i]=a[i-1]*2;
}
}
string doit(int n){
if(n==1){
return "2(0)";
}
if(n==2){
return "2";
}
if(n==3){
return "2+2(0)";
}
for(int i=1;i<=n;i++){
if(a[i-1]<=n&&n<a[i]){
//return "2("+doit(i)+")"+;
if(n-a[i-1]==0){
return "2("+doit(i-1)+")";
}
else{
if(n-a[i-1]==1){
return "2("+doit(i-1)+")+"+"2(0)";
}
if(n-a[i-1]==2){
return "2("+doit(i-1)+")+"+"2";
}
if(n-a[i-1]==3){
return "2("+doit(i-1)+")+"+"2+2(0)";
}
return "2("+doit(i-1)+")+"+"2("+doit(n-a[i-1])+")";
}
}
}
}
void print(){
cout<<doit(n);
}
int main(){
cin>>n;
initialize();
print();
return 0;
}
寻找大佬,帮助蒟蒻!
十十十十十十十十十十十十十十十十十十十十十十