• Ниже на пяти языках программирования записан рекурсивный алгоритм F.
    Бейсик:
    FUNCTION F(n)
    IF n > 2 THEN
    F = F(n - 1) + F(n-2)
    ELSE
    F = n
    END IF
    END FUNCTION
    Python:
    def F(n):
    if n > 2:
    return F(n-1)+ F(n-2)
    else: return n
    Паскаль:
    function F(n: integer): integer;
    begin
    if n > 2 then
    F := F(n - 1) + F(n - 2)
    else
    F := n;
    end;
    Алгоритмический язык:
    алг цел F(цел n)
    нач
    если n > 2
    то
    знач := F(n - 1)+F(n - 2)
    иначе
    знач := n
    все
    кон
    C:
    int F(int n)
    {
    if (n > 2)
    return F(n-1) + F(n-2);
    else return n;
    }
    Чему будет равно значение, вычисленное алгоритмом при выполнении вызова F(6)?
    С подробным описанием алгоритма решения пожалуйста.

Ответы 1

  • Python:

    def F(n):

       if n > 2:

           return F(n-1)+ F(n-2)

       else:

           return n

    если n = 1 или n = 2, то F(n) = 1

    F(1)=1

    F(2)=1

    F(3)=F(2)+F(1)=1+1=2

    F(4)=F(3)+F(2)=2+1=3

    F(5)=F(4)+F(3)=3+2=5

    F(6)=F(5)+F(4)=5+3=8

    Ответ: F(6)=8

    • Автор:

      staruiov
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years