gamsteriv
20.06.2021 21:20

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

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

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

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

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

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

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

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
feliz3600
17.11.2020 18:03
// PascalABC.NET 3.0, сборка 1144 от 16.01.2016
begin
  var n:=ReadInteger('n=');
  var a:=ArrRandom(n,-50,50);
  Writeln('Исходный массив'); a.Println;
  var se:=a.Where(x->x mod 3=0);
  if se.Count=0 then
    Writeln('В массиве нет элементов, кратных трем')
  else begin
    var b:=se.Max;
    var i:=0;
    while a[i]<>b do Inc(i);
    if i=n-1 then Writeln('Максимальный элемент - последний')
    else begin
      Writeln('Результирующий массив');
      a[i+1]:=abs(a.Where(x->x<0).Sum); a.Println
      end
    end
end.

Тестовое решение:
n= 15
Исходный массив
-24 -38 15 -33 -40 -18 21 34 20 49 -19 29 29 38 -41
Результирующий массив
-24 -38 15 -33 -40 -18 21 213 20 49 -19 29 29 38 -41
0,0(0 оценок)
Ответ:
SAA0807
17.11.2020 18:03
1.  и 2. записываем в столбик в виде суммы:

1.       +  n 3 8  9  8
               2 n 7 5  m
           
              m 8 5 n  3
ясно, что основание искомой с/с > 10.  Проверим и удостоверимся, что в 11c|c  действия выполняются верно.
 11 c|c   M=6   n = 4    
ответ: основание системы   11,  m=6,    n=4

2.   m m 65 n
    +2 n 4 4 m         

       5 5 4 2 4      очевидно, что основание искомой с/с > 6. 
Проверим по действиям в 7 с/с,  при сложении в столбик,
  при m=3 и n=1
и удостоверимся, что всё верно.
ответ:    осн. с\с = 7, m=3, n=1

3. пусть основание с\с будет  X? тогда:
(4*X^2+X+5)*4 =2*X^3+2*X^2+6*X+6
    раскрываем скобки, преобразуем и получаем уравнение:
(2*X - 14)*(X^2+1) = 0  --->    X=7
ответ:7
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота