- Если k нечетное, то всегда выигрышной является стратегия «назвать предыдущее число». Действительно, тогда мы всегда будем называть его последними, и когда мы назовем число k - 1 раз, первому игроку придется назвать какое-то другое число, а мы продолжим нашу стратегию.
- Если k четное, то сначала предподсчитаем массив выигрышных-проигрышных позиций (тут нам наоборот называть когда-либо предыдущее число нет смысла, потому что по четности мы проиграем). Если хотя бы одна из позиций xprev - 1..xprev - m — проигрышная, назовем это число и выиграем. Если нет, мы точно проиграем при оптимальной игре первого игрока и можно сразу же сказать «I'm giving up». Замечание: если первый игрок после нашего хода называет то же самое число, ответим ему тем же — теперь он в итоге проиграет по четности.