Задача 11
Напишите на пяти языках программирования записан рекурсивный алгоритм F.
Запишите подряд без пробелов и разделителей все числа, которые будут напечатаны на экране при выполнении вызова F(5). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.
Проанализируем алгоритм:
- в данном фрагменте программы рекурсивная процедура сначала напечатает агрумент, а затем, в случае выполнения условия, вызывает саму себя дважды. Условие if n >= 3 — условие выхода из рекурсии;
- в рекурсивной процедуре используется функция div - целочисленное деление, т.е., например:
5 div 2 = 2
1 div 2 = 0
Отобразим пошагово выполнение каждой процедуры, двигаясь сверху вниз. В каждой процедуре разместим именно те действия, которые происходят в данной процедуре.
Теперь, будем двигаться снизу вверх, подставляя вместо вызовов процедур полученные значения:
Получаем, что при вызове F(5) будут выведены цифры 5242312.
Ответ: 5242312.