RosettaCodeData/Task/Ackermann-function/PL-I/ackermann-function.pli
2023-07-01 13:44:08 -04:00

7 lines
278 B
Text

Ackerman: procedure (m, n) returns (fixed (30)) recursive;
declare (m, n) fixed (30);
if m = 0 then return (n+1);
else if m > 0 & n = 0 then return (Ackerman(m-1, 1));
else if m > 0 & n > 0 then return (Ackerman(m-1, Ackerman(m, n-1)));
return (0);
end Ackerman;