Задание 16 ЕГЭ по информатике · 26ADAF
Порядок вывода рекурсивного алгоритмаПовышеннаяКЭС 3.7КЭС 3.16
Ниже записан рекурсивный алгоритм F на языке Python.
Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова F(3). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.
def F(n):
print(n, end='')
if n >= 2:
F(n - 2)
F(n - 1)
F(n - 2)Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова F(3). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.
Показать ответ
3120101
Подсказки (3)
- Сначала функция выводит значение своего аргумента, а затем выполняет рекурсивные вызовы.
- При n≥2 вызовы выполняются в порядке F(n−2), F(n−1), F(n−2).
- Разверните вызовы: F(3)→3,F(1),F(2),F(1), затем отдельно раскройте F(2).
Решение
1. При вызове F(3) сначала выводится число 3. Затем выполняются вызовы F(1), F(2) и F(1). F(3)→3,F(1),F(2),F(1) 2. Вызов F(1) выводит только число 1, так как условие n≥2 не выполняется. F(1)→1 3. Вызов F(2) выводит 2, после чего выполняет вызовы F(0), F(1) и F(0). F(2)→2,0,1,0 4. Собираем числа в порядке их вывода: 3, 1, 2, 0, 1, 0, 1. 3120101
Частые ошибки
- Не учитывать повторный вызов 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 >= 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
Варианты с автопроверкой, домашние задания от репетитора, онлайн-доска и разбор ошибок — в одном кабинете. Регистрация бесплатная.