В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
egyrt
egyrt
18.03.2022 00:19 •  Информатика

Два игрока, Паша и Вася, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Паша. За один ход игрок может: добавить в кучу один камень или увеличить количество камней в куче в 2 раза. Например, имея кучу из 20 камней, за один ход можно получить кучу из 21 камня или из 40 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней.
Игра завершается в тот момент, когда количество камней в куче становится более 39. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 40 или больше камней.
В начальный момент в куче было S камней, 2 ≤ S ≤ 39.
Говорят, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока — значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника.
Известно, что Вася выиграл своим первым ходом после неудачного первого хода Паши. Укажите минимальное значение S, когда такая ситуация возможна.

Показать ответ
Ответ:
annbobrovska
annbobrovska
16.04.2023 10:03

#include <iostream>

using namespace std;

int main()

{

int arr[]{10,8,3,9,15,25,38};

int buff; // временная переменная для обмена элементов местами

   // Сортировка массива пузырьком

   for (int i = 0; i < size - 1; i++) {

       for (int j = 0; j < size - i - 1; j++) {

           if (arr[j] > arr[j + 1]) {

               // меняем элементы местами

               buff = arr[j];

               arr[j] = arr[j + 1];

               arr[j + 1] = buff;

           }

       }

   }

   // Вывод отсортированного массива на экран

for (int i = 0; i < size; i++)

{

   cout << arr[i] << " ";

}

   cout << endl;    

   return 0;

}

0,0(0 оценок)
Ответ:
drart77
drart77
16.04.2023 10:03

#include <iostream>

using namespace std;

int main()

{

int arr[]{10,8,3,9,15,25,38};

int buff; // временная переменная для обмена элементов местами

  // Сортировка массива пузырьком

  for (int i = 0; i < size - 1; i++) {

      for (int j = 0; j < size - i - 1; j++) {

          if (arr[j] > arr[j + 1]) {

              // меняем элементы местами

              buff = arr[j];

              arr[j] = arr[j + 1];

              arr[j + 1] = buff;

          }

      }

  }

  // Вывод отсортированного массива на экран

for (int i = 0; i < size; i++)

{

  cout << arr[i] << " ";

}

  cout << endl;    

  return 0;

}

Объяснение:

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота