Advertisement
AlexG2230954

Задание 23. Способ 1

Apr 25th, 2022
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.39 KB | None | 0 0
  1. """
  2. Первый способ. Прямой
  3.  
  4. Через этот способ мы идем от исходного числа к результирующему.
  5. Наша функция отвечает на вопрос "сколько существует комманд от n до 72-х.
  6.  
  7. Плюсы:
  8. + не надо писать обратные операции (например, для умножения на 3 обратной будет деление на 3)
  9. + быстрее писать
  10.  
  11. Минусы:
  12. пока не обнаружено
  13.  
  14. В общем, советую этот способ
  15. """
  16.  
  17.  
  18. A = 2  # исходное число
  19. B = 72  # результирующее число
  20.  
  21. def F(n):
  22.     # если мы дошли до нужного нам результирующего числа
  23.     if n == B:
  24.         return 1
  25.  
  26.     # тут пишем все плохие случаи. Либо мы перевалили за результирющее число,
  27.     # либо сейчас на том числе, которое надо избегать
  28.     if n > B or n == 12 or n == 24:
  29.         return 0
  30.  
  31.     # в противном случае мы на обычном числе, производим вычисления дальше
  32.     return F(n + 1) + F(3 * n)
  33.  
  34. # вычисляем, сколько программ существет от A до B
  35. print(F(A))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement