"У исполнителя Калькулятор есть три команды, которым присвоены номера:
1. Прибавить 1
2. Прибавить 2
3. Умножить на 2
Сколько разных целых чисел на отрезке от 34 до 59 может быть получено из числа 1 с помощью программ, состоящих из 6 команд?"
Вообще, я мог бы решить эту задачу, если бы тут просто требовалось найти количество чисел из промежутка, которые можно получить из исходного числа. Но в данном случае, нужно использовать условие, обозначающее количество команд в программе. Уже два дня голову ломаю над этим. Прошу помощи!
Код программы:
for i in range(34,59): def func(start,i): if i < start: return 0 if i == start: return 1 K = func(start,i-1) K += func(start,i-2) if i % 2 == 0: K += func(start,i//2) return K print(func(1,i)
Заранее спасибо!