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;