РУҚА
16

Решение: Вывод рекурсивной функции

ЕГЭ · Информатика · Задание 16 · Основы программирования
ПовышеннаяФИПИ3989D3Короткий ответ≈ 4 минутыРазбор в 3 шагаОтвет сверен с ключом
Условие

Ниже на пяти языках программирования записан один и тот же рекурсивный алгоритм $F$. Функция сначала выводит значение параметра $n$, а затем, если $n \geq 7$, вызывает $F(n - 1)$ и $F(n - 3)$ именно в этом порядке. Определите последовательность чисел, выводимую при выполнении вызова $F(9)$.

Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

Решение по шагам

3 шага
1

Вызов $F(9)$ сразу выводит число 9, затем вызывает $F(8)$ и $F(6)$.

$$F(9) \Rightarrow 9,\ F(8),\ F(6)$$
2

Вызов $F(8)$ выводит 8. Затем $F(7)$ выводит 7 и вызывает $F(6)$, который выводит 6. После этого вызывается $F(5)$, который выводит 5.

$$F(8) \Rightarrow 8\,7\,6\,5$$

После завершения $F(8)$ выполняется второй вызов из $F(9)$ — $F(6)$, который выводит 6. Все вызовы со значениями меньше 7 рекурсивных продолжений не имеют.

$$F(9) \Rightarrow 9\,8\,7\,6\,5\,6$$
Ответ
9876456
9876456
так ответ выглядит в бланке

Где здесь ошибаются

Меняют местами вызовы $F(n-1)$ и $F(n-3)$.

Продолжают рекурсию для значений $n < 7$.

Записывают разделители между выводимыми числами.

Закрепить приёмВ теме «Основы программирования» ещё 159 задач — с ответом и таким же разбором.
Тренироваться

Как решать задание 16 ЕГЭ, информатика

Разбор этой задачи разложен на 3 шага: видно, откуда берётся каждое число и где теряется балл. Ответ приведён рядом с выкладками, а не вместо них.

Задача из темы «Основы программирования»: в ней 160 задач, и у каждой есть такой же разбор. Регистрация не нужна.