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
79
80
81
82
83
84
85
//Potyczki Algorytmiczne 2016 - Jedynki
#include <stdio.h>
//#include <conio.h> /////////////////////////////////////////////////////////////

long t,k;
long roz1[50][4];
long sum1;

int poz;
int modulowy;
int licz_nawiasy;


int main()
{
scanf("%ld",&t);
for (long ttt=1; ttt<=t; ttt++)
   {
   scanf("%ld",&k);
   
   
   roz1[1][1]=k;
   
   //Metoda 1
   poz=1;
   while (roz1[poz][1]!=1)
      {
      if (roz1[poz][1]% 3==0 ) modulowy=3;
      else if ((roz1[poz][1]% 2==0 ) && (roz1[poz][1]% 3==1 )) modulowy=  2 ;  /// <<== 
      else if ((roz1[poz][1]% 2==0 ) && (roz1[poz][1]% 3==2 )) modulowy=2;
      else if ((roz1[poz][1]% 2==1 ) && (roz1[poz][1]% 3==1 )) modulowy=3;
      else if ((roz1[poz][1]% 2==1 ) && (roz1[poz][1]% 3==2 )) modulowy=  2 ;  /// <<==
      //else {printf("Niespodziewany blad.\n"); return 1;}/////////////////////////////////////////////
      
      roz1[poz][3]=roz1[poz][1]%modulowy;
      roz1[poz][2]=modulowy;
      roz1[poz+1][1]=roz1[poz][1]/modulowy;
      poz++;
      }
   sum1=0;
   for (int i=1; i<poz; i++) 
      {
	   sum1+=roz1[i][2];
	   sum1+=roz1[i][3];
	   //printf("%7ld %7ld %7ld\n",roz1[i][1],roz1[i][2],roz1[i][3]);
	   }
	
	licz_nawiasy=0;
   for (int i=1; i<poz; i++)
      {
      if (roz1[i][3]==1) printf("1+");
      else if (roz1[i][3]==2) printf("1+1+");
      
      if (i==poz-1)
         {
      	if (roz1[i][2]==2) printf("1+1");
      	else if (roz1[i][2]==3) printf("1+1+1");
         }
      else
         {
      	if (roz1[i][2]==2) printf("(1+1)");
      	else if (roz1[i][2]==3) printf("(1+1+1)");
      	}
      
      if ( i<poz-1 )
         {
         printf("*(");
         licz_nawiasy++;
         }
      
      
      }
   for (int i=1; i<=licz_nawiasy; i++) printf(")");
   printf("\n");
   
	}







return 0;
}