Задание 16 ЕГЭ по информатике · 0D4EB5
Количество звёздочек при взаимной рекурсииПовышеннаяКЭС 3.7КЭС 3.16
Ниже приведены две рекурсивные функции F и G на языке Python.
Сколько символов «звёздочка» будет напечатано на экране при выполнении вызова F(14)?
def F(n):
if n > 0:
G(n - 3)
def G(n):
print("*")
if n > 1:
F(n - 1)Сколько символов «звёздочка» будет напечатано на экране при выполнении вызова F(14)?
Показать ответ
4
Подсказки (3)
- Проследите только те вызовы, которые начинаются с F(14), и посчитайте выполнения команды печати в G.
- При каждом вызове G печатается одна «звёздочка». После G(n) новый вызов F выполняется только при n>1.
- Цепочка вызовов имеет вид F(14)→G(11)→F(10)→G(7)→F(6)→G(3)→F(2)→G(−1). Функция G вызывается четыре раза.
Решение
1. Вызов F(14) удовлетворяет условию n>0, поэтому выполняется вызов G(11). F(14)→G(11) 2. Функция G(11) печатает одну «звёздочку» и вызывает F(10), так как 11>1. G(11)→F(10) 3. Аналогично продолжается цепочка рекурсивных вызовов. F(10)→G(7)→F(6)→G(3)→F(2)→G(−1) 4. Функция G была вызвана для аргументов 11, 7, 3 и −1. Каждый такой вызов печатает один символ, а после G(-1) рекурсия прекращается. 1+1+1+1=4
Частые ошибки
- Не учитывать печать символа при вызове G(-1): условие проверяется только после команды print.
- Остановить рекурсию при отрицательном аргументе G, хотя функция G всё равно успевает напечатать символ.
- Посчитать вызовы F вместо вызовов G.
Источник: Открытый банк ФИПИ
Похожие задания
16Ниже приведены две рекурсивные функции F и G на языке Python. def F(n): if n > 0: G(n - 2) def G(n)…Количество звёздочек при взаимной рекурсии · 2778CC16Ниже приведены две рекурсивные функции F и G на языке Python. def F(n): if n > 0: G(n - 1) def G(n)…Количество звёздочек при взаимной рекурсии · 4ADA7816Ниже приведены две рекурсивные функции F и G на языке Python. def F(n): if n > 0: G(n - 1) def G(n)…Количество звёздочек при взаимной рекурсии · 9DAE4016Ниже приведены две рекурсивные функции F и G на языке Python. def F(n): if n > 0: G(n - 2) def G(n)…Количество звёздочек при взаимной рекурсии · A2BE0016Ниже приведены две рекурсивные функции F и G на языке Python. def F(n): if n > 0: G(n - 1) def G(n)…Количество звёздочек при взаимной рекурсии · C0539216Алгоритм вычисления значения функции F(n) , где n – целое число, задан следующими соотношениями: F(n) = 1 при…Значение функции или выражения
Нужен репетитор по информатике?
Посмотрите репетиторов, которые ведут занятия в Precettore, или оставьте заявку — подберём сами.
Готовьтесь к ЕГЭ по информатике в Precettore
Варианты с автопроверкой, домашние задания от репетитора, онлайн-доска и разбор ошибок — в одном кабинете. Регистрация бесплатная.