xXMaRoXx
25.04.2023 22:30

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) один камень или увеличить количество камней в куче в четыре раза. Например, пусть в одной куче 7 камней, а в другой 9 камней; такую позицию мы будем обозначать (7, 9). За один ход из позиции (7, 9) можно получить любую из четырёх позиций: (8, 9), (28, 9), (7, 10), (7, 36). Чтобы делать ходы, у каждого игрока есть неограниченное количество камней. Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 91. Победителем считается игрок, сделавший последний ход, т. е. первым получивший позицию, в которой в кучах будет 91 или больше камней.

В начальный момент в первой куче было 5 камней, во второй куче — S камней; 1 ≤ S ≤ 85.

Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока — значит описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. В описание выигрышной стратегии не следует включать ходы играющего по этой стратегии игрока, не являющиеся для него безусловно выигрышными, т. е. не являющиеся выигрышными независимо от игры противника.

Найдите два таких значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:

— Петя не может выиграть за один ход;

— Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.

Найденные значения запишите в ответе в порядке возрастания без разделительных знаков.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
azimbayevmukan
03.02.2020 17:54
получить 14 с наименьшей цифрой - 9 и 5, а 12 - 9 и 3. Ставим 3 впереди, имем 395.

Следующий код на Python это подтверждает:

def change_3dig():
    n = 100
    while n < 1000:
        digits = (n // 100,
                  n % 100 // 10,
              n % 10)
        sums = (digits[0] + digits[1],
                digits[1] + digits[2])
        res = str(max(sums)) + \
          str(min(sums))
        yield (n, int(res))
        n += 1

ans = [(n1, n2) for n1, n2 in change_3dig() if n2 == 1412]
print(min(ans))

Вывод:
(395, 1412)
0,0(0 оценок)
Ответ:
samorukov2005
03.02.2020 17:54
1 - сумма двух чисел, 8 - сумма одного из слагаемых первого числа, а также нового, третьего числа. Так как 1 - сумма двух натуральных чисел, легко сделать вывод, что это числа 1 и 0. Значит 8 - сумма чисел либо 8 и 0, либо 7 и 1. Комбинируем числа из 0, 7 и 1, так как это число точно будет меньше, чем состоящее из 1, 0 и 8. Пусть 1 и 0 - первое и второе числа, тогда... ошибка. 8 - сумма 2-го и 3-го чисел. А 0 не может стоять в разряде сотен. Значит комбинируем из 0, 1 и 8: 1 - первое, 0 - второе и 8 - третье; 1+0=1, 0+8=0, вместе 81.
ответ: 108.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота