Изменим немного правила этой игры.
Пусть на столе 25 спичек. Можно за один раз брать 1, 3 или 6 спичек. Выигрывает забравший последнюю.
Рассуждаем:
Последовательно продолжив эти рассуждения, можно построить таблицу, обозначающую при каком количестве спичек позиция выигрышная, а при каком - проигрышная.
Так на картинке видно, что из позиции в 7 спичек игрок может прийти к позиции в 6, 4 или 1 спичку.
Работает формула так:
Пусть на столе 25 спичек. Можно за один раз брать 1, 3 или 6 спичек. Выигрывает забравший последнюю.
Рассуждаем:
- Если на столе 1, 3 или 6 спичек понятно, что выигрывает игрок, который ходит.
- Если 2 или 4, то игрок берет 1 или 3 спички, остается 3 или одна соответственно, значит он в проигрыше в соответствии с п.1.
- Если 5 спичек, то взяв 1 или 3 спички, передадим ход другому игроку с 4 или 2 спичками на столе соответственно. И из п.2 следует, что ход первому игроку вернется с 1 или 3 спичками и он выиграет.
- Итого если на столе 1, 3, 5 или 6 спичек, то позиция выигрышная для игрока, который ходит, если 2 или 4, то - проигрышная.
Так на картинке видно, что из позиции в 7 спичек игрок может прийти к позиции в 6, 4 или 1 спичку.
При этом при переходе к 6 или 1 спичке мы другого игрока приведем к выигрышу, но при переходе к 4 спичкам мы приведем его к 100% проигрышу, а значит эта позиция выигрышная для того, кто ходит.
А чтобы в Excel построить таблицу, будем в колонке "B" писать количество спичек, если позиция выигрышная и ноль - если проигрышная.
Присвоим диапазону "E2:G2" имя "ходы".
Введем в ячейку "B1" число 1, а в ячейку "B2" следующую формулу:
=ЕСЛИ(ЕНД(ПОИСКПОЗ(A4;ходы;0));ЕСЛИ(СУММ(($B$3:B3=A4-ходы)*1)<СУММ((ЗНАК(A4-ходы)=1)*1);A4;0);A4)
Формула содержит массивы, поэтому завершаем ввод через CTRL + SHIFT + ENTER
Работает формула так:
- Проверяет совпадает ли текущее положение (A4) с каким-либо вариантом хода (1, 3 или 6).
- Если совпадает, то записывает его (A4) в ячейку.
- Если не совпадает, то проверяем сколько выигрышных вариантов среди всех, к которым мы переходим (A4 - ходы это те варианты к которым переходим).
- Если их меньше чем всех возможных, то пишем записываем значение из A4.
- Если столько же, то пишем 0.
Таким образом если в столбце B записан ноль, то позиция проигрышная.
Копируем вниз. В итоге
Итак, если на столе 25 спичек, то выигрывает игрок, который ходит.
Чтобы посмотреть по шагам как работает формула становимся на нужную ячейку и заходим Меню - Сервис - Зависимости формул - Вычислить формулу.
Вдохновила на пост статья "Вариации на тему игры Баше".
>Вдохновила на пост статья "Вариации на тему игры Баше".
ОтветитьУдалитьПриятно :)