|
const func integer: ackermann (in integer: m, in integer: n) is func
|
|
result
|
|
var integer: result is 0;
|
|
begin
|
|
if m = 0 then
|
|
result := succ(n);
|
|
elsif n = 0 then
|
|
result := ackermann(pred(m), 1);
|
|
else
|
|
result := ackermann(pred(m), ackermann(m, pred(n)));
|
|
end if;
|
|
end func;
|