PDA

Просмотр полной версии : Подскажите пожалуйста


Тарифы: МТС, Билайн, МегаФон
Выгодные непубличные тарифы МТС, Билайн, МегаФон, Безлимитный интернет ✅
Фарит абый
23-12-2010, 22:13
Вычислить выражение sqrt(6+2*sqrt(7+3*sqrt(8+4*sqrt(9+...))))

Рекурсивная функция преполагает некоторое условие остановки, я предположил что если N <= 1, то f := 1. Не могу ничем объяснить (обычно такое).

function f(N :integer; a :byte; b :byte) :real;
begin
if N <= 1 then f := 1
else begin
f := sqrt(a + b * f(N, a, b));
dec(N); inc(a); inc(b)
end

end;
var
k :integer;
begin
readln(k);
write(f(k, 6, 2))
end.


Ошибка 106: stack overlow error

Кельтский тип
24-12-2010, 10:24
http://forum.vingrad.ru/forum/s/7493...ic-241766.html