Generation

generate functionSat, 28 Jan 2023

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один или два камня или увеличить количество камней в куче в три раза. Например, имея кучу из 15 камней, за один ход можно получить кучу из 16, 17 или 45 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней. Игра завершается в тот момент, когда количество камней в куче становится не менее 74. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 74 или больше камней. В начальный момент в куче было S камней, 1 ≤ S ≤ 73. Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока  — значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. Найдите три таких значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия: — Петя не может выиграть за один ход; — Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня. Найденные значения запишите в ответе в порядке возрастания без разделительных знаков.

def count_moves(S): number_of_moves = 0 while S < 74: if S % 3 == 0 or S % 2 == 0: number_of_moves += 1 S += 1 return number_of_moves count_moves(1)

Questions about programming?Chat with your personal AI assistant