• Дан рекурсивный алгоритм:
    function F(n: integer): integer;
    begin
    if n < 5 then
    F:= F(n+3) + F(2*n) + F(3*n div 2)
    else
    F:= n + 2;
    end;
    Чему будет равно значение, вычисленное алгоритмом при выполнении вызова F(3)?

Ответы 1

  • function F(n: integer): integer;begin  Writeln('Вход с n=',n);  if n < 5 then    Result := F(n + 3) + F(2 * n) + F(3 * n div 2)  else    Result := n + 2;  Writeln('Выход для n=',n,', F=',Result)end;begin  Writeln(F(3))end.РезультатВход с n=3Вход с n=6Выход для n=6, F=8Вход с n=6Выход для n=6, F=8Вход с n=4Вход с n=7Выход для n=7, F=9Вход с n=8Выход для n=8, F=10Вход с n=6Выход для n=6, F=8Выход для n=4, F=27Выход для n=3, F=4343
    • Автор:

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

Войти через Google

или

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

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

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