#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; } |
English