Предмет: Информатика,
автор: RusNacional
Алгоритм вычисления значения функции F(n), где n - натуральное число, задан следующими соотношениями F(1) = 1; F(2) = 2; F(n) = 3*F(n − 1) − 2*F(n − 2) при n > 2. Чему равно значение функции F(7)? В ответе запишите только натуральное число.
Ответы
Автор ответа:
1
Поскольку не указано, как надо решать, то способ решения можно выбрать.
Проще всего написать рекурсивную функцию.
И проще это сделать на функциональном языке программирования.
Например, на 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.
Проще всего написать рекурсивную функцию.
И проще это сделать на функциональном языке программирования.
Например, на 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.
RusNacional:
Я хз, баллы зачислились?
Автор ответа:
4
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
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
Похожие вопросы
Предмет: Алгебра,
автор: maxim2008348
Предмет: Математика,
автор: annanesterova513
Предмет: Математика,
автор: useinovaarzy43
Предмет: Математика,
автор: АлексейМЕ
Предмет: Алгебра,
автор: i1457684