Функция F(n), где n – натуральное число, задана следующим образом: Паскаль function F(n:...

0 голосов
123 просмотров

Функция F(n), где n – натуральное число, задана следующим образом:
Паскаль
function F(n: integer):
integer;
begin
if n > 1 then
F := 2*n +
F(n-2)+F(n-3)
else
F := n + 5;
end;

Чему будет равно значение, вычисленное алгоритмом при выполнении вызова F(6)?


Информатика (64 баллов) | 123 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Имеем рекуррентное соотношение для F(n):
F(n) = 2n + F(n - 2) + F(n - 3) при n > 1, и n + 5 иначе.

F(-1) = -1 + 5 = 4
F(0) = 0 + 5 = 5
F(1) = 1 + 5 = 6
F(2) = 2 * 2 + F(0) + F(-1) = 4 + 5 + 4 = 13
F(3) = 2 * 3 + F(1) + F(0) = 6 + 6 + 5 = 17
F(4) = 2 * 4 + F(2) + F(1) = 8 + 13 + 6 = 27
F(5) = 2 * 5 + F(3) + F(2) = 10 + 17 + 13 = 40
F(6) = 2 * 6 + F(4) + F(3) = 12 + 27 + 17 = 56

Ответ. F(6) = 56.

(148k баллов)