Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/103: Рейтинг темы: голосов - 103, средняя оценка - 4.88
208 / 95 / 15
Регистрация: 27.07.2018
Сообщений: 323

Псевдоним-Мизер

06.11.2018, 20:37. Показов 19383. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Игра ним для двух игроков с одной кучей и ограничением на количество забираемых камней: за один ход можно взять не больше трёх камней.

Напишите программу с «искусственным интеллектом» (ИИ), которая играет против пользователя и выигрывает, если может. Исходное количество камней в куче задаёт пользователь, программа всегда ходит первой. После каждого хода пользователя и программы необходимо сообщать, сколько камней взято и сколько осталось. В конце необходимо сообщить, кто выиграл.

Пользователь в свой ход вводит количество камней до тех пор, пока не введёт разрешённое число — от одного до трёх (или меньше — если камней осталось меньше).

ПРОИГРЫВАЕТ ТОТ КТО ЗАБИРАЕТ ПОСЛЕДНИЙ КАМЕНЬ.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.11.2018, 20:37
Ответы с готовыми решениями:

Псевдоним-мизер
a = int(input()) while a > 0: b = a % 4 if b == 0: b = 2 print('Забираю', b, 'камня') a -= b ...

Псевдоним-мизер
То же, что в задаче «Псевдоним» (одна куча, можно взять до трёх камней, игра против ИИ), но взявший последний камень не выигрывает, а...

Псевдоним-мизер
То же, что в задаче «Псевдоним» (одна куча, можно взять до трёх камней, игра против ИИ), но взявший последний камень не выигрывает, а...

6
12 / 10 / 3
Регистрация: 09.10.2018
Сообщений: 49
06.11.2018, 22:06
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
a = int(input())
b = 0
c = a
bot = 1
 
while c != 0:
    print(bot)
    c = a - bot
    a = a - bot
    print(c)
    b += 1
    if c != 0:
        user = int(input())
        if user > 3:
            print(c)
        if user > a:
            print(c)
        if user <= 3 and user <= a:
            c = a - user
            a = a - user
            b -= 1
            print(c)
if b == 1:
    print('User win')
if b == 0:
    print('Bot win')
0
208 / 95 / 15
Регистрация: 27.07.2018
Сообщений: 323
06.11.2018, 22:47  [ТС]
msmmm, спасибо.

Добавлено через 29 минут
msmmm, Неверно.
0
12 / 10 / 3
Регистрация: 09.10.2018
Сообщений: 49
07.11.2018, 19:39
CyberGame, у меня прошла

Добавлено через 2 минуты
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
a = int(input())
b = 0
c = a
bot = 1
 
while c != 0:
    print(bot)
    c = a - bot
    a = a - bot
    print(c)
    b += 1
    if c != 0:
        user = int(input())
        if user > 3:
            print(c)
        if user > a:
            print(c)
        if user <= 3 and user <= a:
            c = a - user
            a = a - user
            b -= 1
            print(c)
if b == 1:
    print('bot win')
if b == 0:
    print('User win')
Эта задача называется Псевдоним.
0
208 / 95 / 15
Регистрация: 27.07.2018
Сообщений: 323
07.11.2018, 19:44  [ТС]
msmmm, я про Псевдоним-мизер спрашивал, ладно уже поздно.
0
12 / 10 / 3
Регистрация: 09.10.2018
Сообщений: 49
07.11.2018, 19:49
До этого я тебе скидывал псевдоним мизер(он у меня прошел), ты написал что неверно, я тебе скинул псевдонима

Добавлено через 2 минуты
Псевдоним - мизер
То же, что в задаче «Псевдоним» (одна куча, можно взять до трёх камней, игра против ИИ), но взявший последний камень не выигрывает, а проигрывает.

решение:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
a = int(input())
b = 0
c = a
bot = 1
 
while c != 0:
    print(bot)
    c = a - bot
    a = a - bot
    print(c)
    b += 1
    if c != 0:
        user = int(input())
        if user > 3:
            print(c)
        if user > a:
            print(c)
        if user <= 3 and user <= a:
            c = a - user
            a = a - user
            b -= 1
            print(c)
if b == 1:
    print('User win')
if b == 0:
    print('Bot win')
0
208 / 95 / 15
Регистрация: 27.07.2018
Сообщений: 323
07.11.2018, 21:19  [ТС]
msmmm, При 8 должен выиграть ИИ!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.11.2018, 21:19
Помогаю со студенческими работами здесь

Псевдоним v2.0
Игра ним для двух игроков с одной кучей и ограничением на количество забираемых камней: за один ход можно взять не больше трёх камней. ...

Псевдоним-пасьянс
Игра Ним с одной кучей для одного игрока с дополнительным ограничением: можно за один ход взять не больше трёх камней. Игрок может...

Задача "Псевдоним" по питону
Всем привет. Долго думал над этой задачей, хотя вроде бы она и не очень сложная. Возможен вариант, что тестирующая система Яндекс.Лицея...

Псевдоним v2.0
Задача &quot;Псевдоним v2.0&quot; Игра ним для двух игроков с одной кучей и ограничением на количество забираемых камней: за один ход можно...

игра Псевдоним v2.0
Игра ним для двух игроков с одной кучей и ограничением на количество забираемых камней: за один ход можно взять не больше трёх камней. ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru