19. Выигрышная стратегия: часть 1: #295290
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя.
Известно, что Ваня выиграл своим первым ходом после неудачного первого хода Пети. Укажите минимальное значение $S$, при котором такая ситуация возможна.
Первый способ – математическое решение
Чтобы получить минимальное $S$, Петя и Ваня должны максимально увеличивать кучу — умножать её на $3$: $S\rightarrow3S\rightarrow9S$.
Для победы Вани:
$9S\geq79$,
$S\geq8{,}77\ldots$
Минимальное целое значение $S=9$.
Проверка: $9\rightarrow27\rightarrow81$.
После хода Пети $27<79$, а после хода Вани $81\geq79$.
Второй способ – решение с помощью Python
def moves(x):
return [x + 2, x * 3]
for S in range(1, 79):
if any(
x < 79 and
any(y >= 79 for y in moves(x))
for x in moves(S)
):
print(S)
break
Программа перебирает значения $S$ и ищет такой неудачный ход Пети, после которого Ваня может сразу выиграть.
Программа выведет: $9$.