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