Programozás‎ > ‎Feladatok‎ > ‎Célérték keresés‎ > ‎Megoldás‎ > ‎

tr_cel.pas

Letöltés: tr_cel.pas

program asopjk;
uses crt;
const a=10;
      b:array[1..a]of integer=(1,2,3,4,5,6,7,8,9,10);
      c=2003;
var i,k:integer;
    t,u:string;
procedure muv(d,n:longint;s:string);
var st:string;
begin
     if n=0 then
     begin
          if abs(d-c)<abs(k-c) then
          begin
               k:=d;
               t:=s;
          end;
     end
     else
     begin
         str(b[a+1-n],st);
         muv(d+b[a+1-n],n-1,'('+s+'+'+st+')');
         muv(d-b[a+1-n],n-1,'('+s+'-'+st+')');
         muv(d*b[a+1-n],n-1,'('+s+'*'+st+')');
         if b[a+1-n]<>0 then muv(d div b[a+1-n],n-1,'('+s+'/'+st+')');
     end;
end;
begin
     clrscr;
     k:=-32000;
     str(b[1],u);
     muv(b[1],a-1,u);
     write(t,'=',k);
     readkey;
end.
ċ
tr_cel.pas
(1k)
Gábor Fehér,
2012. márc. 4. 7:21
Comments