profile
Опубликовано 5 лет назад по предмету Информатика от 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. Ответ
    Ответ дан JolanTrue
    Поскольку не указано, как надо решать, то способ решения можно выбрать.
    Проще всего написать рекурсивную функцию.
    И проще это сделать на функциональном языке программирования.
    Например, на 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.
    1. Ответ
      Ответ дан RusNacional
      Я хз, баллы зачислились?
    2. Ответ
      Ответ дан RusNacional
      Спасибо большое)
    3. Ответ
      Ответ дан JolanTrue
      Пожалуйста.
  2. Ответ
    Ответ дан Аккаунт удален
    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
    1. Ответ
      Ответ дан Аккаунт удален
      Использовал Паскаль, потому что не вижу смысла демонстрировать школьникам свои знания более экзотических языков.
Самые новые вопросы