Задание 16 ЕГЭ по информатике · 914B18
Порядок вывода рекурсивного алгоритмаПовышеннаяКЭС 3.7КЭС 3.16
Ниже записан рекурсивный алгоритм F на языке Python.
Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова F(4). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.
def F(n):
if n > 0:
print(n)
F(n - 1)
F(n - 2)Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова F(4). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.
Показать ответ
4321121
Подсказки (3)
- Сначала функция выводит текущее значение n, а затем вызывает F(n - 1) и F(n - 2). При n ≤ 0 вывод не выполняется.
- Разберите сначала вызов F(1), затем F(2), F(3) и F(4), сохраняя порядок вывода.
- Получается: F(1) выводит 1; F(2) — 21; F(3) — 3211; F(4) — 4321121.
Решение
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)→1 3. Вызов F(2) печатает 2, затем результат F(1): 21. F(2)→2 1=21 4. Вызов F(3) печатает 3, затем результат F(2) и результат F(1): 3211. F(3)→3 21 1=3211 5. Вызов F(4) печатает 4, затем результат F(3) и результат F(2). F(4)→4 3211 21=4321121
Частые ошибки
- Не учитывать второй рекурсивный вызов F(n - 2).
- Продолжать вывод при n ≤ 0.
- Записывать числа не в порядке выполнения вызовов.
Источник: Открытый банк ФИПИ
Похожие задания
16Ниже записан рекурсивный алгоритм 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) Запишите…Порядок вывода рекурсивного алгоритма · 8C526216Ниже записан рекурсивный алгоритм F на языке Python. def F(n): if n > 0: F(n - 4) F(n // 2) print(n) Запишите…Порядок вывода рекурсивного алгоритма · 93363516Ниже записан рекурсивный алгоритм F на языке Python. def F(n): if n > 0: print(n) F(n // 3) F(n - 2) Запишите…Порядок вывода рекурсивного алгоритма · 963C1F16Ниже записан рекурсивный алгоритм F на языке Python. def F(n): if n > 0: F(n - 3) F(n // 2) print(n) Запишите…Порядок вывода рекурсивного алгоритма · A75BAE16Ниже записан рекурсивный алгоритм F на языке Python. def F(n): if n > 0: F(n - 2) F(n - 1) print(n) Запишите…Порядок вывода рекурсивного алгоритма · B701D0
Нужен репетитор по информатике?
Посмотрите репетиторов, которые ведут занятия в Precettore, или оставьте заявку — подберём сами.
Готовьтесь к ЕГЭ по информатике в Precettore
Варианты с автопроверкой, домашние задания от репетитора, онлайн-доска и разбор ошибок — в одном кабинете. Регистрация бесплатная.