16 lines
439 B
Plaintext
16 lines
439 B
Plaintext
BEGIN
|
|
INTEGER procedure
|
|
Ackermann(g, p); SHORT INTEGER g, p;
|
|
Ackermann:= IF g = 0 THEN p+1
|
|
ELSE Ackermann(g-1, IF p = 0 THEN 1
|
|
ELSE Ackermann(g, p-1));
|
|
|
|
INTEGER g, p;
|
|
FOR p := 0 STEP 3 UNTIL 13 DO BEGIN
|
|
g := 4 - p/3;
|
|
outtext("Ackermann("); outint(g, 0);
|
|
outchar(','); outint(p, 2); outtext(") = ");
|
|
outint(Ackermann(g, p), 0); outimage
|
|
END
|
|
END
|