На столе лежат карандаши. двое играющих берут по очереди 1, 2 или 3 карандаша. проигрывает тот кто вынужден будет взять последний карандаш. а) как должен играть начинающий игру, чтобы выиграть, если на столе 8 карандашей? б) сможет ли первый выиграть при правильной игре второго, если на столе 9 карандашей? в) сможет ли первый выиграть при правильной игре второго, если на столе 10 карандашей? г) как должен играть начинающий, чтобы выиграть, если на столе лежат 15 карандашей?

qwertyspro qwertyspro    2   31.07.2019 22:10    88

Ответы
pankuznetsov pankuznetsov  31.08.2020 07:17
Тут удобно использовать метод анализа, который получил называние "backtracking" - обратное прослеживание.

Чтобы безусловно выиграть, нужно оставить противнику один карандаш. Следовательно, перед ходом противника должно быть столько карандашей, чтобы противник не смог оставить один карандаш вам. Это возможно, если карандашей будет пять. Тогда, взяв от одного до трех карандашей, противник оставит вам от четырех до двух карандашей и вы всегда сможете оставить ему только один.
Получается, что для выигрыша нужно оставить противнику перед последним ходом один карандаш, перед предпоследним - пять. Разница - четыре карандаша.
Отсюда видна стратегия игры. Нужно брать столько карандашей, чтобы противнику оставалось 1, 5, 9, 13, 17, 21 и т.д. карандашей.
А) Если карандашей 8, мы берем 3 и оставляем 5.
Б) Если карандашей 9, мы заведомо проиграем, поскольку до 5 у нас 4 карандаша (а больше 3 мы не можем взять), а до 9 - 0 (мы должны взять хотя бы 1 карандаш).
В) Если на столе 10 карандашей, мы берем 1 и получаем выигрышное количество 9.
Г) Если карандашей 15, мы берем 2 и получаем выигрышное количество 13.
ПОКАЗАТЬ ОТВЕТЫ