Шаблон рекурсивной функции
# Рекурсивная функция
def rec(now, last, step):
if now == last and ???:
# Проверка, что получили нужное число за нужное число шагов
return 1
if now > last
or ???
:
# Проверка, что превысили нужное число
return 0
# Вызов рекурсивной функции с учетом допустимых команд изменения числа
return rec(now
+ ???, last, step + 1) + ???
# Основная программа
print(rec(???))
# Вызов рекурсивной функции с начальными значениями
Задача
Исполнитель преобразует число, записанное на экране. У исполнителя есть три команды, которым присвоены номера:
1. Добавить к числу два
2. Добавить само число
3. Домножить на само число
Программа для исполнителя - это последовательность команд, которые увеличивают число. Найдите количество программ с четной длиной, которые из числа 1 могут получить 80
Под длиной программы подразумевается количество команд, из которых она состоит.