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

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

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


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

Показать ответ
1131527
Подсказки (3)
  1. В каком порядке выполняются два рекурсивных вызова и команда вывода числа?
  2. Сначала вычисляется F(n−2), затем F(n//3), и только после этого выводится n.
  3. Раскройте вызовы: F(7)→F(5),F(2),7; F(5)→F(3),F(1),5; F(3)→F(1),F(1),3. Каждый вызов F(1) выводит число 1.
Решение
1. При вызове F(7) сначала выполняется F(5), затем F(2), после чего выводится 7.
F(7)→F(5)→F(3)→F(1), F(1), 3, F(1), 5, F(2), 7

2. Вызов F(1) не выполняет дальнейших положительных рекурсивных вызовов и выводит 1. Поэтому вызов F(3) выводит 113.
F(3)→1,1,3

3. Вызов F(5) выводит последовательность 11315, а вызов F(2) сначала не выводит ничего при F(0), затем выводит 2.
F(5)→11315,F(2)→2

4. Объединяем результаты вызова F(7) и записываем числа подряд без разделителей.
1 1 3 1 5 2 7→1131527
Частые ошибки
  • Выводят число до выполнения рекурсивных вызовов.
  • Пропускают повторные вызовы F(1).
  • Записывают пробелы или разделители между выведенными числами.

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

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

16Ниже записан рекурсивный алгоритм 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) Запишите…Порядок вывода рекурсивного алгоритма · 4E277016Ниже записан рекурсивный алгоритм 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: 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) Запишите…Порядок вывода рекурсивного алгоритма · 914B18

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

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

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

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

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

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

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