profile
Опубликовано 6 лет назад по предмету Информатика от КотЭюшка

Составить программу, используя рекурсивные вызовы.
Пусть n и m - целые неотрицательные числа. Написать рекурсивную
программу, вычисляющую классическую в теории рекурсии функцию Аккермана:

  1. Ответ
    Ответ дан Аккаунт удален
    // PascalABC.NET 3.0, сборка 1076
    function ak(n,m:integer):longint;
    begin
      if n=0 then ak:=m+1
      else
        if m=0 then ak:=ak(n-1,1)
        else ak:=ak(n-1,ak(n,m-1))
    end;

    begin
      Writeln('A(3,3)=',ak(3,3))
    end.

    Тестовое решение:
    A(3,3)=61

    А(4,1) - вызывает аварийное завершение программы по переполнению стека из-за большой глубины рекурсии.
    1. Ответ
      Ответ дан КотЭюшка
      Блин, оказывается, что это легко было сделать, спасибо большое!
    2. Ответ
      Ответ дан Аккаунт удален
      Вся рекурсия легко программируется
Самые новые вопросы