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

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

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


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

Показать ответ
7363543
Подсказки (3)
  1. В каком порядке выполняются команды внутри функции после вывода числа?
  2. Для каждого вызова с n > 2 сначала запишите n, затем рассмотрите F(⌊n/2⌋), а после него F(n − 1).
  3. Для F(7): сначала выводится 7, затем полностью выполняется F(3), после этого F(6), затем последующие рекурсивные вызовы.
Решение
1. При вызове F(7) выводится число 7. Затем выполняется F(7 // 2) = F(3).
7

2. Вызов F(3) выводит 3, а вызовы F(1) и F(2) ничего не выводят, поскольку их аргументы не больше 2.
7 3

3. После завершения F(3) выполняется F(6). Он выводит 6, затем вызывает F(3), который выводит 3.
7 3 6 3

4. Далее выполняется F(5): выводится 5. После него выполняется F(4), выводится 4, затем F(3), выводится 3.
7 3 6 3 5 4 3
Частые ошибки
  • Перепутать порядок рекурсивных вызовов F(n // 2) и F(n − 1).
  • Продолжать рекурсию для n ≤ 2.
  • Разделять числа пробелами или другими символами.

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

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

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

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

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

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

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

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

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

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