''' KP-40) (А. Кабанов) +3 *2 Win: s >= 33 1 ≤ S ≤ 32 c № хода 1 P,I 2 V,I 19 3 P,II 20 4 V,II 21 ''' def f(s, c): if s >= 33: # !!! Win: s >= 33 return c % 2 == 0 if c == 0: return False t = [f(s+3, c-1), f(s*2, c-1)] # !!! +3 *2 return any(t) if c % 2 != 0 else all(t) mn = 1 # 1 ≤ S ≤ 32 mx = 32 # 1 ≤ S ≤ 32 !!! ''' Задание 19. c 1 P,I 2 V,I !!! Win 3 P,II 4 V,II ''' print('min s, при любом ходе') # !!! for s in range(mn, mx+1): if f(s, 2): print('19:', s) ''' Задание 20. c 1 P,I !!! No 2 V,I 3 P,II !!! Win 4 V,II ''' print('сколько s') # !!! for s in range(mn, mx+1): if f(s, 3): if not f(s, 1): print('20:', s) ''' Задание 21. c 1 P,I 2 V,I !!! Win !!! No 3 P,II 4 V,II !!! Win ''' print('2 max s up') # !!! for s in range(mn, mx+1): if f(s, 2) or f(s, 4): if not f(s, 2): print('21:', s) ''' ok 19: 14 20: 5 21: 9 10 min s, при любом ходе 19: 14 19: 15 19: 16 сколько s 20: 7 20: 8 20: 11 20: 12 20: 13 2 max s up 21: 4 21: 9 21: 10 '''