Top.Mail.Ru
Ответы

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

Нужен код в пайтоне с решением

Непоседливый Непоседа решил сыграть в игру. Он придумал исполнителя, преобразующего числа на доске и имеющего три команды:
1. Вычесть 2
2. Вычесть 4
3. Извлечь корень
Первые две команды уменьшают число на доске на 2 и 3 соответственно, третья команда — извлекает из числа квадратный корень, если число является квадратом любого числа. Программа для такого исполнителя — это последовательность команд. Сколько существует программ, которые преобразуют исходное число 46 в число 2 и содержат в траектории числа 32 и 12?

По дате
По Рейтингу
Аватар пользователя
Мастер
4мес
123456789
 
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)) 
Аватар пользователя
Высший разум
4мес
123456
 t = {46: 1} 
for i in range(45, 1, -1): 
  t[i] = 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]) 
Аватар пользователя
4мес

помогите человеку с кодом на питхоне

Аватар пользователя
Профи
4мес

Да