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

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

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


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

Показать ответ
7654333
Подсказки (3)
  1. В каком порядке выполняются команды внутри одного вызова функции?
  2. Сначала выводится n, затем полностью выполняется вызов F(n−1), и только после этого — вызов F(n//2).
  3. Для F(7) последовательность начинается так: 7, затем вызовы F(6), F(5), F(4) и F(3); после завершения первого рекурсивного вызова учитываются вторые вызовы с целочисленным делением на 2.
Решение
1. При каждом вызове с n>2 сначала выводится значение n.
F(7)→7

2. Затем сначала полностью выполняется рекурсивный вызов F(n−1). Последовательность первого углубления: 7,6,5,4,3.

3. После завершения каждого вызова выполняется второй вызов F(n//2). Вызовы с аргументами 3 снова выводят число 3, а вызовы с аргументами 2 и меньше ничего не выводят.

4. Объединяя числа в порядке их вывода, получаем последовательность 7,6,5,4,3,3,3.
Частые ошибки
  • Выполняют второй рекурсивный вызов до вызова F(n−1).
  • Считают, что вызов функции с аргументом 2 выводит число.
  • Записывают числа с пробелами или разделителями.

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

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

16Ниже записан рекурсивный алгоритм 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)…Порядок вывода рекурсивного алгоритма · 696B0616Ниже записан рекурсивный алгоритм 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: print(n) F(n - 1) F(n - 2) Запишите…Порядок вывода рекурсивного алгоритма · 914B1816Ниже записан рекурсивный алгоритм 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) Запишите…Порядок вывода рекурсивного алгоритма · 963C1F

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

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

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

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

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

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

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