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

простоникр простоникр    1   26.09.2019 16:20    0

Ответы
Gurusergo Gurusergo  08.10.2020 20:34
F(1) = 1
F(2) = 2
F(3) = 3F(2) - 2F(1) = 3x2 - 2 = 4
F(4) = 3F(3) - 2F(2) = 3x4 - 2x2 = 8
F(5) = 3F(4) - 2F(3) = 3x8 - 2x4 = 16
F(6) = 3F(5) - 2F(4) = 3x16 - 2x8 = 32
F(7) = 3F(6) - 2F(5) = 3x32 - 2x16 = 64

Для проверки была написана программа на PascalABC.NET 3.4

function f(n:integer):integer:=n=1?1:n=2?2:3*f(n-1)-2*f(n-2);

begin
  f(7).Println
end.

Она также вывела значение 64.
ответ: 64
ПОКАЗАТЬ ОТВЕТЫ
XuJIuGan XuJIuGan  08.10.2020 20:34
Поскольку не указано, как надо решать, то решения можно выбрать.
Проще всего написать рекурсивную функцию.
И проще это сделать на функциональном языке программирования.
Например, на Erlang.

Вот код, если интересно

-module(zn1).
-export([go/0]).
go()->f(7).
f(1)->1;
f(2)->2;
f(N)->3*f(N-1)-2*f(N-2).

А ответ будет 64.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика