#include<bits/stdc++.h> using namespace std; #define MAX 2000009 #define DR if(1) #define DRU DR printf void drukuj(int p)///wydrukuj2^p { int i; if(p==0) printf("1"); else for(i=0;i<p;i++) { printf("(1+1)"); if(i<p-1) printf("*"); } } void drukuj2(int a) { int p=0; //int pot=2; while(a) { if(a%2) { drukuj(p); if(a/2) printf("+"); } a/=2; p++; } printf("\n"); } string drukuj3(int a) { string wyn; string zw; if(a==1) return "1"; if(a==2) return "(1+1)"; zw=drukuj3(a/2); if((a)%2) wyn="("+zw+"*(1+1)+1)"; else wyn=zw+"*(1+1)"; return wyn; } int main() { int t,a,i; scanf("%d" ,&t); for(i=0;i<t;i++) { scanf("%d" ,&a); cout << drukuj3(a); printf("\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 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | #include<bits/stdc++.h> using namespace std; #define MAX 2000009 #define DR if(1) #define DRU DR printf void drukuj(int p)///wydrukuj2^p { int i; if(p==0) printf("1"); else for(i=0;i<p;i++) { printf("(1+1)"); if(i<p-1) printf("*"); } } void drukuj2(int a) { int p=0; //int pot=2; while(a) { if(a%2) { drukuj(p); if(a/2) printf("+"); } a/=2; p++; } printf("\n"); } string drukuj3(int a) { string wyn; string zw; if(a==1) return "1"; if(a==2) return "(1+1)"; zw=drukuj3(a/2); if((a)%2) wyn="("+zw+"*(1+1)+1)"; else wyn=zw+"*(1+1)"; return wyn; } int main() { int t,a,i; scanf("%d" ,&t); for(i=0;i<t;i++) { scanf("%d" ,&a); cout << drukuj3(a); printf("\n"); } return 0; } |