Задать вопрос
26 апреля, 15:07

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

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

+5
Ответы (1)
  1. 26 апреля, 16:09
    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; ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы