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.
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. |