#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
int nawias;
string s;
void rob(int k){
if(k==0){
s.erase(s.end()-4, s.end());
for(int i=1;i<nawias; i++)
s+=")";
return;
}
if(k%3==0){
s+="(1+1+1)*";
rob(k/3);
}
else if(k%2==0){
s+="(1+1)*";
rob(k/2);
}
else{
s+="(1+";
nawias++;
rob(k-1);
}
}
int main(){
ios_base::sync_with_stdio(0);
int t, k;
cin>>t;
while(t--){
cin>>k;
nawias=0;
s.clear();
if(k==1){
cout<<"1\n";
continue;
}
rob(k);
cout<<s<<"\n";
}
return 0;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | #include <cstdio> #include <iostream> #include <algorithm> using namespace std; int nawias; string s; void rob(int k){ if(k==0){ s.erase(s.end()-4, s.end()); for(int i=1;i<nawias; i++) s+=")"; return; } if(k%3==0){ s+="(1+1+1)*"; rob(k/3); } else if(k%2==0){ s+="(1+1)*"; rob(k/2); } else{ s+="(1+"; nawias++; rob(k-1); } } int main(){ ios_base::sync_with_stdio(0); int t, k; cin>>t; while(t--){ cin>>k; nawias=0; s.clear(); if(k==1){ cout<<"1\n"; continue; } rob(k); cout<<s<<"\n"; } return 0; } |
English