#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"); } } |