Предмет: Информатика,
автор: КотЭюшка
Составить программу, используя рекурсивные вызовы.
Пусть n и m - целые неотрицательные числа. Написать рекурсивную
программу, вычисляющую классическую в теории рекурсии функцию Аккермана:
Приложения:
Ответы
Автор ответа:
0
// 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) - вызывает аварийное завершение программы по переполнению стека из-за большой глубины рекурсии.
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) - вызывает аварийное завершение программы по переполнению стека из-за большой глубины рекурсии.
Автор ответа:
0
Блин, оказывается, что это легко было сделать, спасибо большое!
Автор ответа:
0
Вся рекурсия легко программируется
Похожие вопросы
Предмет: Алгебра,
автор: neoldboy2476
Предмет: Қазақ тiлi,
автор: sholpanarisova
Предмет: Информатика,
автор: Nemenkate2
Предмет: История,
автор: Аноним
Предмет: Математика,
автор: VladushaTerentev