Предмет: Информатика, автор: priwalovdima2015

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

1. Прибавь 1

2. Прибавь 2

Первая команда увеличивает число на 1, вторая – на 2. Сколько существует таких программ, которые исходное число 11 преобразуют в число 29, и при этом траектория вычислений содержит либо 17, либо 23, либо 17 и 23 одновременно?

я сделал программу

def f(x,y):

-if x > y:

--return 0

- if x == y :

--return 1

-else:

--return f(x + 1, y) + f(x + 2 , y)

но не могу задать условия поиска для нахождения ответа

Ответы

Автор ответа: badnsnus
1

Ответ:8255

def f(x, y):

   if x > y:

       return 0

   if x == y:

       return 1

   else:

       return f(x + 1, y) + f(x + 2, y)

print(f(11, 17) * f(17, 29) + f(11, 23) * f(23, 29) + f(11, 17) * f(17, 23) * f(23, 29))


Rey: def f(z,x):
if z>x: return 0
if z==x: return 1
return f(z+1,x)+f(z+2,x)
a=f(11,17)*f(17,29)
def g(z,x):
if z>x: return 0
if z==x: return 1
return g(z+1,x)+g(z+2,x)
b=g(11,23)*g(23,29)
def k(z,x):
if z>x: return 0
if z==x: return 1
return k(z+1,x)+k(z+2,x)
c=k(11,17)*k(17,23)*k(23,29)
print(a+b-c) (ответ:3861)
Похожие вопросы
Предмет: Английский язык, автор: влад875
Предмет: Қазақ тiлi, автор: Аноним
Предмет: История, автор: savinovamary1907
Предмет: Алгебра, автор: Crazer52