Задание 16 ЕГЭ по информатике · 4E2770

Порядок вывода рекурсивного алгоритмаПовышеннаяКЭС 3.7КЭС 3.16
Ниже записан рекурсивный алгоритм F на языке Python.

def F(n):
if n > 0:
F(n - 1)
print(n)
F(n - 2)


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

Показать ответ
1231412
Подсказки (3)
  1. В каком порядке выполняются два рекурсивных вызова и вывод числа?
  2. Для каждого положительного n сначала полностью выполните F(n - 1), затем выведите n, затем выполните F(n - 2). При n ≤ 0 ничего не выводится.
  3. Последовательно получите: F(1) → 1, F(2) → 12, F(3) → 1231, F(4) → 1231412.
Решение
1. При n ≤ 0 условие не выполняется, поэтому вызов ничего не выводит.
F(n)=∅ при n≤0

2. Для вызова F(1) сначала выполняется F(0), затем выводится 1, после чего выполняется F(-1).
F(1)→1

3. Для вызова F(2): сначала выполняется F(1), затем выводится 2, затем выполняется F(0).
F(2)→12

4. Для вызова F(3): сначала выводится результат F(2), затем 3, затем результат F(1).
F(3)→12 3 1=1231

5. Для вызова F(4): сначала выводится результат F(3), затем 4, затем результат F(2).
F(4)→1231 4 12=1231412
Частые ошибки
  • Выводят n до выполнения первого рекурсивного вызова.
  • Забывают второй вызов F(n - 2).
  • Продолжают рекурсию при n ≤ 0.

Источник: Открытый банк ФИПИ

Похожие задания

16Ниже записан рекурсивный алгоритм F на языке Python. def F(n): if n > 2: print(n) F(n // 2) F(n - 1) Запишите…Порядок вывода рекурсивного алгоритма · 2D68B616Ниже записан рекурсивный алгоритм F на языке Python. def F(n): if n > 0: print(n) F(n - 4) F(n // 2) Запишите…Порядок вывода рекурсивного алгоритма · 35359C16Ниже записан рекурсивный алгоритм F на языке Python. def F(n): print(n, end='') if n >= 7: F(n - 1) F(n - 3)…Порядок вывода рекурсивного алгоритма · 3989D316Ниже записан рекурсивный алгоритм F на языке Python. def F(n): if n > 0: F(n - 3) print(n) F(n // 2) Запишите…Порядок вывода рекурсивного алгоритма · 4ABC6516Ниже записан рекурсивный алгоритм F на языке Python. def F(n): if n > 0: F(n - 2) F(n // 3) print(n) Запишите…Порядок вывода рекурсивного алгоритма · 55D63C16Ниже записан рекурсивный алгоритм F на языке Python. def F(n): print(n, end='') if n >= 6: F(n - 1) F(n - 3)…Порядок вывода рекурсивного алгоритма · 696B0616Ниже записан рекурсивный алгоритм F на языке Python. def F(n): if n > 2: print(n) F(n - 1) F(n // 2) Запишите…Порядок вывода рекурсивного алгоритма · 82EE4916Ниже записан рекурсивный алгоритм F на языке Python. def F(n): if n > 2: F(n - 1) F(n // 2) print(n) Запишите…Порядок вывода рекурсивного алгоритма · 8C5262

Нужен репетитор по информатике?

Посмотрите репетиторов, которые ведут занятия в Precettore, или оставьте заявку — подберём сами.

Репетиторы по информатике

Подбор репетитора

Напишите, что нужно, — команда Precettore подберёт репетитора и свяжется с вами.

Готовьтесь к ЕГЭ по информатике в Precettore

Варианты с автопроверкой, домашние задания от репетитора, онлайн-доска и разбор ошибок — в одном кабинете. Регистрация бесплатная.