Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может
а) добавить в любую кучу один камень;
б) увеличить количество камней в любой куче в четыре раза.
Игра завершается в тот момент, когда суммарное количество камней в двух кучах становится не менее 95, побеждает игрок, сделавший последний ход. В начальный момент в первой куче было 5 камней, а во второй – S камней, 1 ≤ S ≤ 89. Укажите такое значение S, при котором Петя не может выиграть за один ход, но при любом ходе Пети Ваня может выиграть своим первым ходом.

Показать решение

def F(x, y, poz):
    if x + y >= 95 and poz == 3:
        return 1
    if x + y < 95 and poz == 3:
        return 0
    return F(x + 1, y, poz + 1) or F(x, y + 1, poz + 1) or F(x * 4, y, poz + 1) or F(x, y * 4, poz + 1)
for i in range(1, 90):
    if F(5, i, 1):
        print(i)
        break

Ответ: 6