#1-27 номера ЕГЭ по информатике
March 20, 2023
23 Разбор номера 13498 ЕГЭ по информатике от 2023 года #23
Условие: Тип 23 № 13498
У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 1 2. Прибавить 3
Сколько существует программ, для которых при исходном числе 1 результатом является число 17 и при этом траектория вычислений содержит число 9?
Комментарии к первому варианту решения задачи:
- создаем функцию, которая будет принимать и обрабатывать значение функции
- если первое число больше второго
- то возвращаем 0
- если первое число равно второму
- то возвращаем 1
- иначе
- возвращаем return F(a + 1, b) + F(a + 3, b) #, то есть используем рекурсию
- вызываем функцию, траектория которой удовлетворяет условию
# Код решения вариант 1
def F(a, b):
if a > b:
return 0
if a == b:
return 1
else:
return F(a + 1, b) + F(a + 3, b)
print(F(1, 9) * F(9, 17))
Решение полностью аналогичное первому варианту, за исключением return int(a == b) , такая конструкция возвращает 1, если a равно b, иначе возвращает 0
# Код решния вариант 2
def f(a, b):
if a >= b:
return int(a == b)
return f(a + 1, b) + f(a + 3, b)
print(f(1, 9) * f(9, 17))