Advertisement
PorisulkiP

Номер 7

Jul 13th, 2022
624
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.11 KB | None | 0 0
  1. test0 = 225
  2. test1 = 703125
  3. test2 = 32805
  4. test3 = 8823
  5. test4 = 72063
  6.  
  7. actions = [] # 0 - умножение на 5; 1 - умножение на 9
  8.  
  9. def can5(data:int) -> bool:
  10.   if data % 5 == 0:
  11.     actions.append(0)
  12.     return can5(data / 5)
  13.   else:
  14.     return can9(data)
  15.  
  16. def can9(data:int) -> bool:
  17.   if data == 1 or data == 9:
  18.     return True
  19.   if data % 9 == 0:
  20.     actions.append(1)
  21.     return can9(data / 9)
  22.   else:
  23.     if not actions:
  24.       return False
  25.     elif actions[-1] == 1:
  26.       return False
  27.     return can5(data)
  28.  
  29. def can(data:int) -> str:
  30.   # Сначала число делится на 5, если есть остаток, то делится на 9
  31.   # Если и там остаток, то чило не делится на 5 и 9
  32.   # Все проделанные операции записываются в список для контроля повторений
  33.   while(data >= 5):
  34.     if can5(data):
  35.       return "Да"
  36.     else:
  37.       return "Нет"
  38.   actions.clear()
  39.  
  40. print(can(test0))
  41. print(can(test1))
  42. print(can(test2))
  43. print(can(test3))
  44. print(can(test4))
  45.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement