RosettaCodeData/Task/Ackermann-function/Pascal/ackermann-function.pascal
Ingy döt Net d066446780 langs a-z
2013-04-10 22:43:41 -07:00

20 lines
371 B
Text

Program Ackerman;
function ackermann(m, n: Integer) : Integer;
begin
if m = 0 then
ackermann := n+1
else if n = 0 then
ackermann := ackermann(m-1, 1)
else
ackermann := ackermann(m-1, ackermann(m, n-1));
end;
var
m, n : Integer;
begin
for n := 0 to 6 do
for m := 0 to 3 do
WriteLn('A(', m, ',', n, ') = ', ackermann(m,n));
end.