Гусь преобразует число, записанное на экране. У гуся есть три команды, которым присвоены номера:
1. Прибавь 4
2. Прибавь 7
3. Раздели нацело на 2
Первая команда увеличивает число на экране на 4, вторая увеличивает его на 7, третья делит на 2 нацело (остаток отбрасывается). Программа для исполнителя – это последовательность команд. Сколько существует программ, которые состоят из 10 команд и при исходном числе 1 результатом является 1?
def f(a, b, c):
if c == 10:
return a == b
if c < 10:
return f(a+4, b, c+1) + f(a+7, b, c+1) + + f(a//2, b, c+1)
print(f(1, 1, 0))
Ответ: 917