Задание 7 Параграф 9 ГДЗ Босова 11 класс (Информатика)
F(n) = 2 при п < О;
F(n) = F(n - 2) + F(n - 1) + F(n div 2) при n > 0.
Требуется выяснить, чему равно значение функции F(10).
F(1)=F(-1)+F(0)+F(0)=2+2+2=6;
F(2)=F(0)+F(1)+F(1)=2+6+6=14;
F(3)=F(1)+F(2)+F(1)=6+14+6=26;
Проще, составить программу и вычислить!
program Z_9_7;
function F(m: integer): integer;
begin
if m < = 0 then F := 2 else F := F(m - 2) + F(m - 1) + F(m div 2)
end;
var
n: integer;
begin
read(n);
Write(F(n))
end.
Ответ: F(10)=1486
Программа: Z_9_7.pas (ссылка ниже)
Вычислим значения функции по рекуррентной формуле:
$$F(n)=2 \text{ при } n \le 0,$$
$$F(n)=F(n-2)+F(n-1)+F(n \, div \, 2) \text{ при } n>0.$$
Найдём несколько первых значений:
$$F(1)=F(-1)+F(0)+F(0)=2+2+2=6,$$
$$F(2)=F(0)+F(1)+F(1)=2+6+6=14,$$
$$F(3)=F(1)+F(2)+F(1)=6+14+6=26.$$
Далее последовательно вычисляем значения до $$F(10)$$. Удобнее всего это сделать с помощью программы:
program Z_9_7;
function F(m: integer): integer;
begin
if m <= 0 then F := 2
else F := F(m — 2) + F(m — 1) + F(m div 2)
end;
var
n: integer;
begin
read(n);
Write(F(n))
end.
По вычислению получаем:
$$F(10)=1486.$$
Ответ
$$1486$$