Исполнитель, преобразующий числа, python - Общение Python мододелов

Вопрос Исполнитель, преобразующий числа, python

Регистрация
16 Ноя 2012
Сообщения
86
Репутация
-3
Спасибо
0
Монет
0
Пожалуйста имейте ввиду, что этот пользователь забанен
Нужен код в пайтоне с решением



Непоседливый Непоседа решил сыграть в игру. Он придумал исполнителя, преобразующего числа на доске и имеющего три команды:

1. Вычесть 2

2. Вычесть 4

3. Извлечь корень

Первые две команды уменьшают число на доске на 2 и 3 соответственно, третья команда — извлекает из числа квадратный корень, если число является квадратом любого числа. Программа для такого исполнителя — это последовательность команд. Сколько существует программ, которые преобразуют исходное число 46 в число 2 и содержат в траектории числа 32 и 12?
 
Регистрация
14 Окт 2013
Сообщения
89
Репутация
0
Спасибо
0
Монет
0
t = {46: 1}
for i in range(45, 1, -1):
t = t.get(i + 2, 0) + t.get(i + 4, 0) + t.get(i * i, 0)
if i in [12, 32]: # удаление траекторий не проходящих через 32 и 12
for j in range(i + 1, 47): t[j] = 0
print(t[2])
 
Регистрация
16 Дек 2013
Сообщения
73
Репутация
0
Спасибо
0
Монет
0

def f(x,y):
if x<y :
return 0
if x ==y:
return 1
else:
return f(x-2, y)+f(x-4, y)+ f((x**0,5), y)
print(f(46,32)*f(32,12)*f(12,2))
 
Сверху Снизу