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

