27 lines
446 B
Plaintext
27 lines
446 B
Plaintext
MODULE ackerman;
|
|
|
|
IMPORT Out;
|
|
|
|
VAR m, n : INTEGER;
|
|
|
|
PROCEDURE Ackerman (x, y : INTEGER) : INTEGER;
|
|
|
|
BEGIN
|
|
IF x = 0 THEN RETURN y + 1
|
|
ELSIF y = 0 THEN RETURN Ackerman (x - 1 , 1)
|
|
ELSE
|
|
RETURN Ackerman (x - 1 , Ackerman (x , y - 1))
|
|
END
|
|
END Ackerman;
|
|
|
|
BEGIN
|
|
FOR m := 0 TO 3 DO
|
|
FOR n := 0 TO 6 DO
|
|
Out.Int (Ackerman (m, n), 10);
|
|
Out.Char (9X)
|
|
END;
|
|
Out.Ln
|
|
END;
|
|
Out.Ln
|
|
END ackerman.
|