Ниже на трёх языках программирования записан рекурсивный алгоритм F. \[\begin{array}{ | l | l | l |} \hline Python & C++ & Pascal \\ \hline def\; F(n): & void\; F(int\; n) & procedure\; F(n:\; integer); \\ \quad if\; n\; >\; 2: & \{ & \quad begin \\ \quad\quad print(n) & \quad if\; (n\; >\; 2) & \quad\quad if\; n\; >\; 2\; then \\ \quad\quad F(n\; -\; 1) & \quad \{ & \quad\quad\quad begin \\ \quad \; \; \; & \quad\quad F(n-2) & \quad\quad\quad \; \; F(n-2); \\ & \quad\quad cout\; <<\; n; & \quad\quad\quad \; \; writeln(n); \\ & \quad\quad F(n\; -\; 1); & \quad\quad\quad \; \; \; F(n\; -\; 1); \\ & \quad \} & end \\ & \} & end \\ \hline \end{array}\]
Определите сколько знаков выведет программа при вызове функции \(F(6)\)?
При вызове \(F(0)\), \(F(1)\) и \(F(2)\) программа ничего не выведет. Пропишем весь алгоритм, начиная с \(F(3)\):
\(
F(3)\rightarrow F(1)3F(2) = 3\\
F(4)\rightarrow F(2)4F(3)= 43\\
F(5)\rightarrow F(3)5F(4) = 3543\\
F(6)\rightarrow F(4)6F(5) = 4363543\\
\)
Всего программа вывела \(7\) знаков. Это - ответ на вопрос задачи.
Ответ: 7