Задания
Версия для печати и копирования в MS WordДля игры, описанной в задании 19, найдите минимальное значение S, при котором одновременно выполняются два условия:
— у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;
— у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.
Решение.
Приведём решение на языке Python.
def Win(n, m):
return 0 if m <= 1207 else any([Lose(n-1, m-3), Lose(n-1, m-5), Lose(n-1, m//4)])
def Lose(n, m):
return 1 if m <= 1207 else 0 if not n else\
all([Win(n-1, m-3), Win(n-1, m-5), Win(n-1, m//4)])
print('21)', min(m for m in range(1208, 10000) if not Lose(2, m) and Lose(4, m)))
Ответ: 4840.

