Информатика (Рекурсивные алгоритмы)

Ниже на пяти языках программирования записаны две рекурсивные функции: F и G

БейсикPython
DECLARE FUNCTION F(n)
 DECLARE FUNCTION G(n)
 FUNCTION F(n)
   IF n > 2 THEN
     F = F(n - 1) + G(n-2)
   ELSE
     F = 1
   END IF
 END FUNCTION
 FUNCTION G(n)
   IF n > 2 THEN
     G = G(n - 1) + F(n-2)
   ELSE
     G = 1
   END IF
 END FUNCTION

def F(n):

  if n > 2:

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

  else: return 1

def G(n):

  if n > 2:

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

  else: return 1

ПаскальАлгоритмический язык
function F(n: integer): integer;
begin
  if n > 2 then
    F := F(n - 1) + G(n - 2)
  else
    F := 1;
end;
function G(n: integer): integer;
begin
  if n > 2 then
    G := G(n - 1) + F(n - 2)
  else
    G := 1;
end;
алг цел F(цел n)
нач
  если n > 2
    то
      знач := F(n - 1) + G(n - 2)
    иначе
      знач := 1
  все
кон
алг цел G(цел n)
нач
  если n > 2
    то
      знач := G(n - 1) + F(n - 2)
    иначе
      знач := 1
  все
кон
Си
int F(int n)
{
  if (n > 2)
    return F(n-1) + G(n-2);
  else return 1;
}
int G(int n)
{
  if (n > 2)
    return G(n-1) + F(n-2);
  else return 1;
}

Чему будет равно значение, вычисленное при выполнении вызова F(7)?

 
 

Регистрация


Зарегистрироваться через VK

Личный кабинет

Регистрация
Войти через VK