Игра ним для двух игроков с одной кучей и ограничением на количество забираемых камней: за один ход можно взять не больше трёх камней.
Напишите программу с «искусственным интеллектом» (ИИ), которая играет против пользователя и выигрывает, если может. Исходное количество камней в куче задаёт пользователь, программа всегда ходит первой. После каждого хода пользователя и программы необходимо сообщать, сколько камней взято и сколько осталось. В конце необходимо сообщить, кто выиграл.
Пользователь в свой ход вводит количество камней до тех пор, пока не введёт разрешённое число — от одного до трёх (или меньше — если камней осталось меньше).
При вводе некорректного значения необходимо вывести фразу: Некорректный ход: и заново потребовать вводить данные.
После хода игрока или ИИ необходимо вывести два числа: сколько камней было взято и сколько камней осталось в куче.
Если выигрывает игрок, то надо вывести фразу: Вы выиграли!, а если ИИ - фразу: ИИ выиграл!
Все сообщения программы должны строго соответствовать условию.
Answers & Comments
Ответ (на Python):
n = int(input())
while n > 0:
n1 = n % 4
if n1 == 0:
n1 = 2
n -= n1
print(n1, n)
if n == 0:
print('ИИ выиграл!')
else:
n1 = int(input())
while not (1 <= n1 <= 3 and n1 <= n):
print('Некорректный ход:', n1)
n1 = int(input())
n -= n1
print(n1, n)
if n == 0:
print('Вы выиграли!')