16

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

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

Ниже на пяти языках программирования записан рекурсивный алгоритм F. Запишите подряд без пробелов и разделителей все числа, которые будут напечатаны на экране при выполнении вызова F(4). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.

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

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

5 шагов
1

При вызове с положительным n функция сначала печатает n, затем выполняет вызовы F(n - 1) и F(n - 2). При n ≤ 0 функция ничего не печатает.

$$F(n) = n, F(n-1), F(n-2)$$
2

Вызов F(1) печатает 1, поскольку последующие вызовы F(0) и F(-1) ничего не выводят.

$$F(1) \to 1$$
3

Вызов F(2) печатает 2, затем результат F(1): 21.

$$F(2) \to 2\,1 = 21$$
4

Вызов F(3) печатает 3, затем результат F(2) и результат F(1): 3211.

$$F(3) \to 3\,21\,1 = 3211$$

Вызов F(4) печатает 4, затем результат F(3) и результат F(2).

$$F(4) \to 4\,3211\,21 = 4321121$$
Ответ
4321121
4321121
так ответ выглядит в бланке

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

Не учитывать второй рекурсивный вызов F(n - 2).

Продолжать вывод при n ≤ 0.

Записывать числа не в порядке выполнения вызовов.

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

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

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

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