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
program Jed; // Jedynki, runda 2-B       22.11.2016
const cmax=200;
type Ti=longint; var t,tk,ki,lnaw,i,lc,sumc:Ti; //ch:char;
 cyfry: array[0..cmax] of byte;
begin
  readln(t); //liczba zestawów
  for tk:=1 to t do
  begin
    readln(ki); lnaw:=0; lc:=0; sumc:=0;
    if ki=1 then begin writeln(1);  continue end;
    for i:=0 to cmax do cyfry[i]:=0;

    while ki>1 do 
    begin lc+=1;
      if Odd(ki) then begin cyfry[lc]+=1; Dec(ki) end
      else
      begin cyfry[lc]:=2; ki:=ki div 2 end;
    end;//generowania cyfr
    for i:=1 to lc do
    begin 
      if cyfry[i]=1 then
      begin if i=1 then write('1+')
            else begin  write('*(1+'); lnaw+=1; sumc+=1 end
      end 
      else begin sumc+=2;
             if cyfry[i-1]=2 then write('*(1+1)')
             else write('(1+1)')
           end //else
    end;//i
    for i:=1 to lnaw do write(')'); //uzupełnienie nawiasami
    writeln
  end;//tk 
end.