Ниже на пяти языках программирования записан рекурсивный алгоритм F.
| Бейсик | Python |
|---|---|
DECLARE SUB F(n) SUB F (n) IF n > 0 THEN F(n \ 4) PRINT n F(n - 1) END IF END SUB
| def F(n): if n > 0: F(n // 4) print(n) F (n - 1)
|
| Паскаль | Алгоритмический язык |
procedure F(n: integer); begin if n > 0 then begin F(n div 4); write(n); F(n - 1); end end;
| алг F(цел n) нач если n > 0 то F(div(n, 4)) вывод n F(n - 1) все кон |
| Си++ | |
void F(int n){ if (n > 0){ F(n / 4); std::cout << n; F(n - 1); } }
| |
В качестве ответа укажите последовательность цифр, которая будет напечатана на экране в результате вызова F(5).
Моделируем работу алгоритма.
F(5):F(1):F(0)
1
F(0)
5
F(4):F(1):1
4
F(3):F(0)
3
F(2):F(0)
2
F(1)
1
Таким образом, при выполнении вызова F(5) будут напечатаны числа 1514321.
Ответ: 1514321.

