Задание:
Дан рекурсивный алгоритм:
procedure F(n: integer);
begin
writeln(n);
if n < 5 then begin
F(n + 1);
F(n + 3)
end
end;
Найдите сумму чисел, которые будут выведены при вызове F(1).
Решение:
Шаг 1:
Шаг 2:
при n<5 выполняется два рекурсивных вызова, и на экране появляются следующие значения параметра:
Шаг 3:
Продолжаем до тех пор, пока условие n<5 не станет ложным для узловых параметров. Получаем следующие значения:
Складывая все эти числа, получаем 49
Ответ: 49