#include<bits/stdc++.h> #define LL long long using namespace std; int n,m,k,i,j,wyn,x; string s; void rozk(int x) { // printf("("); int il2=x&-x; x/=il2; int il3=0; while(x%3==0) { x/=3; il3++; } if(il2>1) { // printf("(1+1)"); s+="(1+1)"; wyn+=2; for(int j=2;j<il2;j=j*2) { // printf("*(1+1)"); s+="*(1+1)"; wyn+=2; } //printf("*"); } if(il2>1&&(il3>0||x>1)) { s+="*"; // printf("*"); } if(il3>0) { // printf("(1+1+1)"); wyn+=3; s+="(1+1+1)"; for(int j=2;j<=il3;j++) { //printf("*(1+1+1)"); s+="*(1+1+1)"; wyn+=3; } } if(x!=1) { x--; //printf("(1+"); wyn++; s+="(1+"; rozk(x); //printf(")"); s+=")"; } // printf(")"); } int main() { scanf("%d",&n); for(i=1;i<=n;i++) { wyn=0; s=""; scanf("%d",&x); if(x==1)printf("1"); else rozk(x); if(wyn>100)printf("NIE"); else { printf("%s",s.c_str()); } 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 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | #include<bits/stdc++.h> #define LL long long using namespace std; int n,m,k,i,j,wyn,x; string s; void rozk(int x) { // printf("("); int il2=x&-x; x/=il2; int il3=0; while(x%3==0) { x/=3; il3++; } if(il2>1) { // printf("(1+1)"); s+="(1+1)"; wyn+=2; for(int j=2;j<il2;j=j*2) { // printf("*(1+1)"); s+="*(1+1)"; wyn+=2; } //printf("*"); } if(il2>1&&(il3>0||x>1)) { s+="*"; // printf("*"); } if(il3>0) { // printf("(1+1+1)"); wyn+=3; s+="(1+1+1)"; for(int j=2;j<=il3;j++) { //printf("*(1+1+1)"); s+="*(1+1+1)"; wyn+=3; } } if(x!=1) { x--; //printf("(1+"); wyn++; s+="(1+"; rozk(x); //printf(")"); s+=")"; } // printf(")"); } int main() { scanf("%d",&n); for(i=1;i<=n;i++) { wyn=0; s=""; scanf("%d",&x); if(x==1)printf("1"); else rozk(x); if(wyn>100)printf("NIE"); else { printf("%s",s.c_str()); } printf("\n"); } } |