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

