Задание 16 ЕГЭ по информатике · 963C1F
Порядок вывода рекурсивного алгоритмаПовышеннаяКЭС 3.7КЭС 3.16
Ниже записан рекурсивный алгоритм F на языке Python.
Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова F(7). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.
def F(n):
if n > 0:
print(n)
F(n // 3)
F(n - 2)Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова F(7). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.
Показать ответ
7251311
Подсказки (3)
- Какое число выводится первым при вызове F(7), и какие два вызова выполняются после этого?
- Для каждого положительного n сначала запишите n, затем разберите вызовы F(n div 3) и F(n − 2). При n ≤ 0 выполнение прекращается.
- F(7): выводится 7; затем F(2) даёт 2, а F(5) даёт последовательность 51311. Итоговая последовательность: 7251311.
Решение
1. При вызове F(7) сначала выводится 7. Затем выполняются вызовы F(7 div 3) = F(2) и F(7 − 2) = F(5). F(7)→7, F(2), F(5) 2. Вызов F(2) выводит 2 и выполняет F(0), после чего рекурсия прекращается. F(2)→2, F(0), F(0) 3. Вызов F(5) выводит 5, затем F(1) выводит 1, а F(3) выводит 3 и дважды вызывает F(1), каждый раз выводя 1. F(5)→5, 1, 3, 1, 1 4. Объединяем числа в порядке выполнения рекурсивных вызовов. 7 2 5 1 3 1 1
Частые ошибки
- Меняют местами вызовы F(n div 3) и F(n − 2).
- Продолжают рекурсию при n ≤ 0.
- Записывают разделители между выведенными числами.
Источник: Открытый банк ФИПИ
Похожие задания
16Ниже записан рекурсивный алгоритм 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: 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: 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) Запишите…Порядок вывода рекурсивного алгоритма · B701D016Ниже записан рекурсивный алгоритм F на языке Python. def F(n): if n > 0: print(n) F(n - 3) F(n // 2) Запишите…Порядок вывода рекурсивного алгоритма · E508E816Ниже записан рекурсивный алгоритм F на языке Python. def F(n): if n > 2: F(n // 2) F(n - 1) print(n) Запишите…Порядок вывода рекурсивного алгоритма · E6C892
Нужен репетитор по информатике?
Посмотрите репетиторов, которые ведут занятия в Precettore, или оставьте заявку — подберём сами.
Готовьтесь к ЕГЭ по информатике в Precettore
Варианты с автопроверкой, домашние задания от репетитора, онлайн-доска и разбор ошибок — в одном кабинете. Регистрация бесплатная.