Содержание
Смысл игровых стратегий
Основные моменты написания программ на Python
Для написания программы нам понадобятся базовые знания Python, которые я подобрала ниже.
Функция def – объявляет функцию. Когда функция вызывается, поток выполнения программы переходит к ее определению и начинает исполнять ее тело.print – выводит на экран.
Номера 19-21 НА ОДНУ КУЧУ
Теперь осталось ответить на вопросы задачи.
Вопрос 19. Найдите минимальное значение s, при котором Ваня выигрывает своим первым ходом при любой игре Пети.
В конце нашей программы появятся вот такие строчки:
for s in range(1,100): На вход функции подставляем все возможные варианты s, указываем ограничения
if game(s) == 'V1': Условие. Если с таким s победит Ваня 1 ходом, то:
print(s, game(s)) Выводим на экран такое значение s и значение, при котором подбирается s.
Получаем:
Программа вывела все подходящие значения (11 и 12). Мы по условию записываем в ответ минимальное. Итак, наш ответ: 11
В данном случае нам нужно изменить лишь значение, при котором должно выводиться s. Заменяем ‘V1’ на ‘P2’.
Так как Ваня должен выиграть первым или вторым ходом, но необязательно первым, то нам подходят все случаи ‘V2’. Снова меняется только одна строчка.
Номера 19-21 НА ОДНУ КУЧУ С ОГРАНИЧЕНИЕМ СВЕРХУ
If h > 60: return ‘P1’ Не забываем про дополнительную строчку. Она говорит о том, что если количество камней выйдет за предел, то мы автоматически отдаём победу сопернику. Если первый игрок походил таким образом, что камней в куче стало больше 60-ти, то побеждает второй игрок. А данная строчка проверяет камни перед игрой. Грубо говоря, если в куче изначально было камней больше 60, то победит первый игрок – Петя, так как он ещё не делал свой ход.
Вопрос 19. Найдите минимальное значение S, при котором Ваня выигрывает своим первым ходом при любой игре Пети.
Ответ: 34
Вопрос 20. Сколько существует значений S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия: Петя не может выиграть за один ход; Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
Нам остаётся поменять только одну строчку. Заменяем ‘V1’ на ‘P2’, так как Петя должен победить за второй ход.
Вопрос 21. Найдите минимальное и максимальное значения S, при которых одновременно выполняются два условия: у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети; у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом. Найденные значения запишите в ответе в порядке возрастания.