Задание 16 ЕГЭ по информатике · 28131C
Порядок вывода рекурсивного алгоритмаПовышеннаяКЭС 3.7КЭС 3.16
Ниже записан рекурсивный алгоритм F на языке Python.
Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова F(6). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.
def F(n):
print(n, end='')
if n >= 4:
F(n - 1)
F(n // 2)Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова F(6). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.
Показать ответ
6543223
Подсказки (3)
- В каком порядке выполняются команды: сначала вывод текущего n, затем рекурсивный вызов для n−1, затем вызов для целой части от деления n на 2?
- Постройте дерево рекурсивных вызовов, начиная с F(6), и записывайте число сразу при входе в функцию.
- Последовательность вывода при обходе вызовов: 6→5→4→3→2→2→3.
Решение
1. При каждом входе в функцию сначала выводится её параметр n. F(6)⇒6 2. Для значений n≥4 сначала выполняется вызов с параметром n−1, затем — с параметром n//2. 6→5→4→3→2→2→3 3. Соединяем выведенные числа без пробелов и разделителей. 6543223
Частые ошибки
- Записывают число после завершения рекурсивных вызовов, а не при входе в функцию.
- Меняют порядок рекурсивных вызовов F(n−1) и F(n//2).
- Добавляют пробелы или разделители между числами.
Источник: Открытый банк ФИПИ
Похожие задания
16Ниже записан рекурсивный алгоритм F на языке Python. def F(n): print(n, end='') if n >= 4: F(n - 3) F(n - 1)…Порядок вывода рекурсивного алгоритма · 1C457A16Ниже записан рекурсивный алгоритм 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): 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): 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) Запишите…Порядок вывода рекурсивного алгоритма · 4ABC65
Нужен репетитор по информатике?
Посмотрите репетиторов, которые ведут занятия в Precettore, или оставьте заявку — подберём сами.
Готовьтесь к ЕГЭ по информатике в Precettore
Варианты с автопроверкой, домашние задания от репетитора, онлайн-доска и разбор ошибок — в одном кабинете. Регистрация бесплатная.