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
#include <stdio.h>
char jedynkowo[50000];
int ileJedynek;
void piszJedynki(int x){
    int i;
    for(i = 1;i<x; i++){
        strcat(jedynkowo,"(1+1)*");
        ileJedynek+=2;
    }
    strcat(jedynkowo,"(1+1)");
    ileJedynek+=2;
    //printf("|JED:%d|",ileJedynek);
}
int main() {
    int a,n,i,j,licznik,byla;
    scanf(" %d",&n);
    for(i=0; i<n; i++){
        scanf(" %d",&a);
        strcpy(jedynkowo,"");
        ileJedynek=0;
        if(a==1) {
            printf("1\n");
            continue;
        }
        if(a%2==1) {
            printf("1+");
            a--;
            ileJedynek++;
        }
        licznik = 0;
        byla = 0;
        do{

            if(a%2==1){
                if(byla==1) strcat(jedynkowo,"+");
                piszJedynki(licznik);
                byla=1;
            }
            a=a/2;
            //printf("|a:%d|",a);
            licznik++;
            if(ileJedynek>100) {
                printf("NIE\n");
                break;
            }
        }while(a>0);
        if(ileJedynek<=100)
            printf("%s\n",jedynkowo);
    }
    return 0;
}