Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 16.10.2015
Сообщений: 4

Игра в спички!

14.11.2015, 11:58. Показов 1779. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день , ув. пользователи форума. У меня есть задача , которую хочу решить , но не знаю с какой стороны к ней подойти , код у вас просить не буду , просто хотелось бы , что бы вы подсказали с чего начать , как к ней подойти.
Собственно условие :
На столе лежат N спичек, играют 2 человека , ходят по очереди. За один ход игрок может взять не более M спичек . Забравший последнюю спичку - победитель .
Формат входных данных
В первой строке входного файла записано чило Т - количество тестовых случаев . В последующие Т строках находятся по 2 числа , разделённые пробелом: N -кол-во спичек , и M - максимум взятия за один ход!

Вот такая задача . Заранее спасибо !
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.11.2015, 11:58
Ответы с готовыми решениями:

Игра спички
Возможно кому-то потребуется код или просто поиграть.строго несудите оки если есть ошыбка то сорь , С++ ток 2 месяц изучаю. ...

Игра спички
Ребят, помогите пожалуйста написать игру! На С++ вроде смогла, а на java замучалась уже, ничего не понимаю :( В общем, есть куча...

Игра спички
Добрый день, нужно написать процедуру одного хода в данной игре: На первом ходу можно взять любое количество спичек, но не брать...

3
 Аватар для Yanush
162 / 158 / 62
Регистрация: 28.09.2013
Сообщений: 293
14.11.2015, 13:29
Лучше сначала сделать для одного тестового случая. А дальше добавить обработку n случаев из файла.

Тебе нужно создать структуру с полями "количество спичек" и "макс взятие за ход".

Загружаешь в массив структур все свои тестовые случаи из файла.

Для самой игровой сессии (игра i в тестовый случай) можно оставить ту же структуру с данными. Добавить флаг, отвечающий за очередность ходов (кто из игроков ходит). Создаешь экземпляр структуры и присваиваешь ему i из массива тестовых случаев.
Начинается ход игрока...
1. Нужно проверить условие ("количество спичек на столе" - "макс взятие за ход" >= 0). Если да - присвоить переменной "макс взятие текущее" значение "макс взятие" из структуры игры. Если условие не выполняется то "макс взятие текущее" будет равно "макс взятие" - "количество спичек на столе".
2. Предложить ввод игроку, сколько спичек он хочет взять.
3. Обработать ввод (если введенное значение > "макс взятие текущее" - установить введенное значение как "макс взятие текущее" или сделать цикл, который будет предлагать ввести корректное количество спичек, которое игрок может взять).
4. Отнять от "количество спичек на столе" значение, которое игрок указал при вводе.
5. Проверить на равенство "количества спичек на столе" нулю.
Если количество спичек на столе > 0 - перевести переменную, отвечающую за очередность ходов и повторить шаг с 1 пункта.
Если количество спичек = 0 - закончить игру, вывести надпись о победе текущего игрока. Увеличить счетчик текущей игры i, заполнить структуру следующим значением из массива тестовых случаев и начать игру заново.

Надеюсь мысль понятна будет... ; )
1
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
14.11.2015, 15:43
Цитата Сообщение от keeVVee Посмотреть сообщение
Вот такая задача
Это же классическая игра NIM
Ищите по этому названию, уверен, что найдете готовый код. У меня есть для QBasic, Z80, для VB6 не нашел в своей коллекции.
1
0 / 0 / 0
Регистрация: 16.10.2015
Сообщений: 4
15.11.2015, 09:28  [ТС]
Цитата Сообщение от Yanush Посмотреть сообщение
Лучше сначала сделать для одного тестового случая. А дальше добавить обработку n случаев из файла.
Тебе нужно создать структуру с полями "количество спичек" и "макс взятие за ход".
Загружаешь в массив структур все свои тестовые случаи из файла.
Для самой игровой сессии (игра i в тестовый случай) можно оставить ту же структуру с данными. Добавить флаг, отвечающий за очередность ходов (кто из игроков ходит). Создаешь экземпляр структуры и присваиваешь ему i из массива тестовых случаев.
Начинается ход игрока...
1. Нужно проверить условие ("количество спичек на столе" - "макс взятие за ход" >= 0). Если да - присвоить переменной "макс взятие текущее" значение "макс взятие" из структуры игры. Если условие не выполняется то "макс взятие текущее" будет равно "макс взятие" - "количество спичек на столе".
2. Предложить ввод игроку, сколько спичек он хочет взять.
3. Обработать ввод (если введенное значение > "макс взятие текущее" - установить введенное значение как "макс взятие текущее" или сделать цикл, который будет предлагать ввести корректное количество спичек, которое игрок может взять).
4. Отнять от "количество спичек на столе" значение, которое игрок указал при вводе.
5. Проверить на равенство "количества спичек на столе" нулю.
Если количество спичек на столе > 0 - перевести переменную, отвечающую за очередность ходов и повторить шаг с 1 пункта.
Если количество спичек = 0 - закончить игру, вывести надпись о победе текущего игрока. Увеличить счетчик текущей игры i, заполнить структуру следующим значением из массива тестовых случаев и начать игру заново.
Надеюсь мысль понятна будет... ; )
Спасибо большое!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.11.2015, 09:28
Помогаю со студенческими работами здесь

Игра Баше/спички
Здравствуйте, нуждаюсь в помощи создания алгоритма беспроигрышной игры компьютера при следующей задачи: "Имеется куча спичек со...

Игра в спички - исправить ошибку в коде
Здравствуйте, помогите исправить ошибку в программе Вот сама ошибка Ссылка на исходники Код Сервер using System; ...

Игра "Спички Бергсона"
Здравствуйте. Не знаю, правильно ли я выбрал тему, но пока пишу сюда. Есть такая задача-игра: Играют двое. На столе кучка спичек. На...

Игра "спички"
«100 спичек». Из кучки, первоначально содержащей 100 спичек, двое играющих поочередно берут по несколько спичек: не менее одной и не более...

Игра "Спички" на С++
Пусть дана кучка, первоначально содержащая множество спичек, двое играющих поочередно берут по нескольку спичек: не менее одной и не более...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru