Az alábbi letöltési lehetőségek közül választhatsz: (
segítség)
Típus: text/plain
Tartalmaz szöveget
Karakterkódolás: utf-8
Méret: 2 KB
PROGRAM celertek;
CONST
ben = 4;
bet : ARRAY [1..ben] OF INTEGER = (20, 15, 5, 6);
bec = 42;
TYPE
chDef = ARRAY [1..ben] OF CHAR;
VAR
bestV: LONGINT;
chars: chDef;
bestC: chDef;
PROCEDURE Req(level: BYTE; res: LONGINT);
BEGIN
IF level >= ben THEN
BEGIN
IF (bestC[1] = '.') OR (ABS(res-bec) < ABS(bestV-bec)) THEN
BEGIN
bestV:= res;
bestC:= chars;
END;
END
ELSE
BEGIN
chars[level]:= '+';
Req(level+1, res+bet[level+1]);
chars[level]:= '*';
Req(level+1, res*bet[level+1]);
chars[level]:= '-';
Req(level+1, res-bet[level+1]);
chars[level]:= '/';
IF bet[level] <> 0 THEN Req(level+1, res DIV bet[level+1]);
END;
END;
PROCEDURE DumpBest;
VAR
i: BYTE;
BEGIN
FOR i:= 1 TO ben DO Write('(');
FOR i:= 1 TO ben-1 DO
BEGIN
Write(bet[i],')',bestC[i]);
END;
WriteLn(bet[ben],')=',bestV);
END;
BEGIN
bestC[1]:= '.';
Req(1, bet[1]);
DumpBest;
END.