Задание 16 ЕГЭ по информатике · 4E2770
Порядок вывода рекурсивного алгоритмаПовышеннаяКЭС 3.7КЭС 3.16
Ниже записан рекурсивный алгоритм F на языке Python.
Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова F(4). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.
def F(n):
if n > 0:
F(n - 1)
print(n)
F(n - 2)Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова F(4). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.
Показать ответ
1231412
Подсказки (3)
- В каком порядке выполняются два рекурсивных вызова и вывод числа?
- Для каждого положительного n сначала полностью выполните F(n - 1), затем выведите n, затем выполните F(n - 2). При n ≤ 0 ничего не выводится.
- Последовательно получите: 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
Варианты с автопроверкой, домашние задания от репетитора, онлайн-доска и разбор ошибок — в одном кабинете. Регистрация бесплатная.