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

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

def F(n):
print(n, end='')
if n >= 7:
F(n - 1)
F(n - 3)


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

Показать ответ
9876456
Подсказки (3)
  1. Какое число выводится в начале каждого вызова функции? В каком порядке выполняются два рекурсивных вызова?
  2. Для F(n) при n≥7 сначала выполняется F(n−1), затем F(n−3). При n<7 выводится только само число.
  3. Раскройте вызовы последовательно: F(9)→F(8),F(6); F(8)→F(7),F(5); F(7)→F(6),F(4).
Решение
1. Вызов F(9) сразу выводит число 9, затем вызывает F(8) и F(6).
F(9)⇒9, F(8), F(6)

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

3. После завершения F(8) выполняется второй вызов из F(9) — F(6), который выводит 6. Все вызовы со значениями меньше 7 рекурсивных продолжений не имеют.
F(9)⇒9 8 7 6 5 6
Частые ошибки
  • Меняют местами вызовы F(n−1) и F(n−3).
  • Продолжают рекурсию для значений n<7.
  • Записывают разделители между выводимыми числами.

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

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

16Ниже записан рекурсивный алгоритм F на языке Python. def F(n): print(n, end='') if n >= 2: F(n - 2) F(n - 1)…Порядок вывода рекурсивного алгоритма · 26ADAF16Ниже записан рекурсивный алгоритм F на языке Python. def F(n): print(n, end='') if n >= 4: F(n - 1) F(n // 2)…Порядок вывода рекурсивного алгоритма · 28131C16Ниже записан рекурсивный алгоритм 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): if n > 0: F(n - 3) print(n) F(n // 2) Запишите…Порядок вывода рекурсивного алгоритма · 4ABC6516Ниже записан рекурсивный алгоритм F на языке Python. def F(n): if n > 0: F(n - 1) print(n) F(n - 2) Запишите…Порядок вывода рекурсивного алгоритма · 4E277016Ниже записан рекурсивный алгоритм 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)…Порядок вывода рекурсивного алгоритма · 696B06

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

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

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

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

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

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

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