Помощь - Поиск - Пользователи - Календарь
Полная версия: Функция Аккермана
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Mika
Нужны два варианта решения: рекурсивный и итерационный.

1. Рекусия уже написана но очень быстро переполняется стек. Подкиньте идею оптимизации.

2. Нужно решение итерационное с помощью имитации стека массивом записей. smile

Код

    
function Acc(n,m : word): word;
begin
if (n=0) then Acc:=m+1 else
    begin
    if (n<>0)and(m=0) then Acc:=Acc(n-1,1);
    if (n<>0)and(m<>0) then Acc:=Acc(n-1,Acc(n,m-1));
end;

volvo
Ну, я же дал тебе идею оптимизации рекурсии:
Function FAcc(n, m: LongInt): Longint;
begin
While n <> 0 Do Begin
Dec(n);
If m = 0 Then m := 1 Else m := FAcc(n + 1, m - 1);
End;
FAcc := m + 1;
end;


Насчет итерации - где-то видел, сейчас гляну...
the difference between viagra an
cialis and high blood pressure
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.