Алгоритм вычисления значения функции f(n), где n – натуральное число, задан следующими соотношениями: f(0) = 1, f(1) = 1 f(n) = f(n–1)*f(n-2)+2, при n > 1 чему равно значение функции f(5)? в ответе запишите только целое число.

ktoya2 ktoya2    1   23.07.2019 01:40    2

Ответы
elyavlasova elyavlasova  03.10.2020 11:17
1. Ручная прокрутка алгоритма

F₀ = 1; F₁ = 1;
F₂ = F₁×F₀+2 = 1×1+2=1+2 = 3;
F₃ = F₂×F₁+2 = 3×1+2 = 3+2 = 5;
F₄ = F₃×F₂+2 = 5×3+2 = 15+2 = 17;
F₅ = F₄×F₃+2 = 17×5+2 = 85+2 = 87

ответ: 87

2. Программное решение с использованием итерации

// PascalABC.NET 3.1, сборка 1204 от 24.03.2016
begin
  var f:array[0..5] of integer;
  f[0]:=1; f[1]:=1;
  for var i:=2 to 5 do f[i]:=f[i-1]*f[i-2]+2;
  Writeln(f[5])
end.

Результат выполнения программы
87

3. Программное решение с использованием рекурсии

// PascalABC.NET 3.1, сборка 1204 от 24.03.2016
function f(n:integer):integer;
begin
  if n<2 then Result:=1
  else Result:=f(n-1)*f(n-2)+2
end;

begin
  Writeln(f(5))
end.

Результат выполнения программы
87
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика