#include<bits/stdc++.h> #define pb push_back #define mp make_pair #define f first #define s second using namespace std; int tab[35]; int main() { int t; scanf("%d",&t); for(int i=1; i<=t; i++) { int k,ile=0; scanf("%d",&k); if(k==1) printf("1\n"); else { while(k!=0) { ile++; if(k%2==0) tab[ile]=false; else tab[ile]=true; k/=2; } int liczba=1; /*for(int a=1; a<=ile; a++) cout << tab[a] << " "; cout << endl;*/ if(tab[1]) printf("1+"); int c=2; while(!tab[c]) c++; printf("(1+1)"); for(int b=3; b<=c; b++) printf("*(1+1)"); int ilosc=0; for(int a=c+1; a<=ile; a++) { if(tab[a]) { printf("*(1+(1+1)"); for(int b=2; b<=liczba; b++) { printf("*(1+1)"); } liczba=1; ilosc++; } else { liczba++; } } for(int a=1; a<=ilosc; a++) printf(")"); 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 | #include<bits/stdc++.h> #define pb push_back #define mp make_pair #define f first #define s second using namespace std; int tab[35]; int main() { int t; scanf("%d",&t); for(int i=1; i<=t; i++) { int k,ile=0; scanf("%d",&k); if(k==1) printf("1\n"); else { while(k!=0) { ile++; if(k%2==0) tab[ile]=false; else tab[ile]=true; k/=2; } int liczba=1; /*for(int a=1; a<=ile; a++) cout << tab[a] << " "; cout << endl;*/ if(tab[1]) printf("1+"); int c=2; while(!tab[c]) c++; printf("(1+1)"); for(int b=3; b<=c; b++) printf("*(1+1)"); int ilosc=0; for(int a=c+1; a<=ile; a++) { if(tab[a]) { printf("*(1+(1+1)"); for(int b=2; b<=liczba; b++) { printf("*(1+1)"); } liczba=1; ilosc++; } else { liczba++; } } for(int a=1; a<=ilosc; a++) printf(")"); printf("\n"); } } } |