Функция Аккермана для неотрицательных целых m и n задается следующим образом:
uses crt;
Var
k, l, F: extended;
function akker(m, n: extended): extended;
begin
if m = 0 then
akker := n + 1;
if (m > 0) and (n = 0) then
akker := akker(m - 1, 1)
else if (m > 0) and (n > 0) then
akker := akker(m - 1, akker(m, n - 1));
end;
begin
clrscr;
Writeln('Vvedite m i n ');
Write('m = ');
Readln(k);
Write('n = ');
Readln(l);
F := akker(k, l);
Writeln('Funkciya =', F);
readkey;
end.