25 lines
434 B
Plaintext
25 lines
434 B
Plaintext
MODULE Ack EXPORTS Main;
|
|
|
|
FROM IO IMPORT Put;
|
|
FROM Fmt IMPORT Int;
|
|
|
|
PROCEDURE Ackermann(m, n: CARDINAL): CARDINAL =
|
|
BEGIN
|
|
IF m = 0 THEN
|
|
RETURN n + 1;
|
|
ELSIF n = 0 THEN
|
|
RETURN Ackermann(m - 1, 1);
|
|
ELSE
|
|
RETURN Ackermann(m - 1, Ackermann(m, n - 1));
|
|
END;
|
|
END Ackermann;
|
|
|
|
BEGIN
|
|
FOR m := 0 TO 3 DO
|
|
FOR n := 0 TO 6 DO
|
|
Put(Int(Ackermann(m, n)) & " ");
|
|
END;
|
|
Put("\n");
|
|
END;
|
|
END Ack.
|