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

