#include<bits/stdc++.h>
int m,k;
int s,naw;
char c[500];
char trzy[] = ")1+1+1(*";
char dwa[] = ")1+1(*";
char jeden[] = ")1+";
int main(){
scanf("%d", &m);
while(m--){
scanf("%d", &k);
s=0;
naw=0;
while(k>0){
if(k==1){
if(s==0)printf("1");
else{
for(int i=1;i<=naw;i++){
printf("(");
}
for(int i=s-2;i>=0;i--){
printf("%c", c[i]);
}
}
k=0;
}
else if(k%3==0){
for(int i=0;i<8;i++){
c[s+i]=trzy[i];
}
s+=8;
k/=3;
}
else if(k%2==0){
for(int i=0;i<6;i++){
c[s+i]=dwa[i];
}
s+=6;
k/=2;
}
else{
for(int i=0;i<3;i++){
c[s+i]=jeden[i];
}
s+=3;
naw++;
k--;
}
}
printf("\n");
}
}
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 49 50 51 52 53 54 | #include<bits/stdc++.h> int m,k; int s,naw; char c[500]; char trzy[] = ")1+1+1(*"; char dwa[] = ")1+1(*"; char jeden[] = ")1+"; int main(){ scanf("%d", &m); while(m--){ scanf("%d", &k); s=0; naw=0; while(k>0){ if(k==1){ if(s==0)printf("1"); else{ for(int i=1;i<=naw;i++){ printf("("); } for(int i=s-2;i>=0;i--){ printf("%c", c[i]); } } k=0; } else if(k%3==0){ for(int i=0;i<8;i++){ c[s+i]=trzy[i]; } s+=8; k/=3; } else if(k%2==0){ for(int i=0;i<6;i++){ c[s+i]=dwa[i]; } s+=6; k/=2; } else{ for(int i=0;i<3;i++){ c[s+i]=jeden[i]; } s+=3; naw++; k--; } } printf("\n"); } } |
English