Задача к ЕГЭ по информатике на тему «Количество программ из A в B где траектория вычислений N команда» №1

Исполнитель преобразует число на экране. У него есть три команды, которым присвоены номера:

1. Прибавить 1

2. Прибавить 4

3. Умножить на 2

Программа для исполнителя – это последовательность команд. Сколько существует программ, которые состоят из 7 команд и при исходном числе 3 результатом является 27?

Программа:

def f(a, c): #В данной функции у нас будет два параметра: а - изменяемое число, с - количество команд.
    #При каждом изменении числа а мы будем увеличивать c
    if c == 7: #Если количество команд равняется 7,то мы возвращаем 1 или 0 в зависимости от того,равна ли а 27 или нет
        return a == 27
    return f(a + 1, c + 1) + f(a + 4, c + 1) + f(a * 2, c + 1)
print(f(3, 0))

Ответ: 37
Оцените статью
Я решу все!