Задать вопрос
27 апреля, 01:23

Дан рекурсивный алгоритм:

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) ?

+3
Ответы (1)
  1. 27 апреля, 02:49
    0
    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=43

    43
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Дан рекурсивный алгоритм: 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; ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы