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

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

def F(n):
print(n, end='')
if n >= 4:
F(n - 3)
F(n - 1)


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

Показать ответ
6352413
Подсказки (3)
  1. Для каждого вызова сначала запишите его параметр, а затем проследите рекурсивные вызовы слева направо.
  2. Вызов с n<4 только выводит число и не порождает новых вызовов.
  3. Цепочка вызовов: F(6)→F(3),F(5); F(5)→F(2),F(4); F(4)→F(1),F(3). Получается последовательность 6,3,5,2,4,1,3.
Решение
1. При вызове F(6) сначала выводится 6. Так как 6≥4, выполняется вызов F(3), который выводит 3 и завершается.
F(6):6→F(3):3

2. Затем выполняется вызов F(5), который выводит 5. Он вызывает F(2) и F(4) в этом порядке.
F(5):5→F(2):2, F(4):4

3. Вызов F(4) после вывода 4 вызывает F(1), выводящий 1, а затем F(3), выводящий 3.
F(4):4→F(1):1, F(3):3

4. Объединяем числа в порядке их вывода без пробелов и разделителей.
6,3,5,2,4,1,3⇒6352413
Частые ошибки
  • Меняют местами рекурсивные вызовы F(n - 3) и F(n - 1).
  • Продолжают рекурсию для значений n < 4.
  • Забывают, что число выводится до выполнения рекурсивных вызовов.

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

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

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 > 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 подберёт репетитора и свяжется с вами.

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

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