Для игры, описанной в задании 19, найдите два наименьших значения S, при которых Петя не может выиграть первым ходом, но у Пети есть выигрышная стратегия, позволяющая ему выиграть вторым ходом при любой игре Вани. В ответе запишите найденные значения в порядке возрастания.
Ответ:
Приведём решение на языке Python.
def Win(m, h):
return 0 if m <= 9 else any([Lose(m-k, h-1) for k in K]) \
if (K:=[i for i in range(2, 10) if not m%i]) else Win(m-1, h-1)
def Lose(m, h):
return 1 if m <= 9 else 0 if not h else all([Win(m-k, h-1) for k in K]) \
if (K:=[i for i in range(2, 10) if not m%i]) else Lose(m-1, h-1)
print('20)', *[s for s in range(10, 50) if not Win(s, 1) and Win(s, 3)][:2])
Ответ: 20; 24.

