Advertisement
Pastehsjsjs

Untitled

May 10th, 2023
793
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.01 KB | Source Code | 0 0
  1. from functools import lru_cache
  2.  
  3.  
  4. def summa(x):
  5.     d = set()
  6.     for i in range(1, int(x ** 0.5) + 1):
  7.         if x % i == 0:
  8.             d.add(i)
  9.             d.add(x // i)
  10.     if 1 in d:
  11.         d.remove(1)
  12.     if x in d:
  13.         d.remove(x)
  14.     return sum(list(d))
  15.  
  16.  
  17. def m(h, super):
  18.     if super == 0:
  19.         return (h + 1, False), (h + 4, False), (h + summa(h), True)
  20.     return (h + 1, False), (h + 4, False)
  21.  
  22.  
  23. @lru_cache(None)
  24. def f(h, super):
  25.     if h >= 43: return 'END'
  26.     if any(f(x[0], 1 if x[1] else super) == 'END' for x in m(h, super)):
  27.         return 'P1'
  28.     elif all(f(x[0], 1 if x[1] else super) == 'P1' for x in m(h, super)):
  29.         return 'V1'
  30.     elif any(f(x[0], 1 if x[1] else super) == 'V1' for x in m(h, super)):
  31.         return 'P2'
  32.     elif all(f(x[0], 1 if x[1] else super) in ['P1', 'P2'] for x in m(h, super)):
  33.         return 'V2'
  34.  
  35.  
  36. for s in range(1, 42 + 1):
  37.     res = f(s, 0)
  38.     if res and res == 'V1':
  39.         print(res, s)
  40.  
  41. # 19 - 20
  42. # 20 - 18
  43. # 21 - 13
  44.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement