Решение: Вывод рекурсивной функции
Ниже на пяти языках программирования записан рекурсивный алгоритм F. При вызове функции сначала выводится значение параметра n. Если n >= 4, затем выполняются вызовы F(n - 3) и F(n - 1) именно в указанном порядке. Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова F(6). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.
Решение по шагам
4 шагаПри вызове $F(6)$ сначала выводится 6. Так как $6 \ge 4$, выполняется вызов $F(3)$, который выводит 3 и завершается.
$$F(6): 6 \to F(3): 3$$Затем выполняется вызов $F(5)$, который выводит 5. Он вызывает $F(2)$ и $F(4)$ в этом порядке.
$$F(5): 5 \to F(2): 2,\ F(4): 4$$Вызов $F(4)$ после вывода 4 вызывает $F(1)$, выводящий 1, а затем $F(3)$, выводящий 3.
$$F(4): 4 \to F(1): 1,\ F(3): 3$$Объединяем числа в порядке их вывода без пробелов и разделителей.
$$6,3,5,2,4,1,3 \Rightarrow 6352413$$Где здесь ошибаются
Меняют местами рекурсивные вызовы F(n - 3) и F(n - 1).
Продолжают рекурсию для значений n < 4.
Забывают, что число выводится до выполнения рекурсивных вызовов.