Игорь Андрей
?>

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

Информатика

Ответы

ЕлизаветаВладимирович

ответ (на 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('Вы выиграли!')

artmasterstyle

На бумаге сорри не получится, но постараюсь досконально объяснить:

1) 379 в 10 системе счисления сначала переводим в 2 систему счисления: мы число 379 делим на 2 до того момента, когда выражение будет равно 0.

379 : 2 = 189 остаток 1

189 : 2 = 94 остаток 1

94 : 2 = 47 остаток 0

47 : 2 = 23 остаток 1

23 : 2 = 11 остаток 1

11 : 2 = 5 остаток 1

5 : 2 = 2 остаток 1

2 : 2 = 1 остаток 0

1 : 2 = 0 остаток 1

Теперь, мы обращаем наше внимание на остаток, оно и является ответом, только есть нюанс, мы должны писать числа с конца.

Получаем, что 379 в 10 сист.сч. = 101111011 в 2 системе счисления

Аналогично и с 8 системой счисления :

379 : 8 = 47 остаток 3

47 : 8 = 5 остаток 7

5 : 8 = 0 остаток 5

379 в 10 системе счисления = 573 в 8 системе счисления

Lyudmila-Popova
Написано на языке python:

from math import sqrt as sqrt
x1, y1, x2, y2, x3, y3 = list(map(int,input().split()))
a = sqrt((x2-x1)**2 + (y2-y1)**2)   
b = sqrt((x3-x2)**2 + (y3-y2)**2)
c = sqrt((x1-x3)**2 + (y1-y3)**2)
p = (a+b+c)/2
S = sqrt(p*(p-a)*(p-b)*(p-c))  
R = round((a*b*c)/(4*S),3)      
print(R)   

Объяснения:
1) Задаём координаты (вводим 6 цифр через пробел)
2) Считаем длины сторон треугольника
3) Находим полупериметр
4) Находим площадь
5) Находим радиус описанной окружности и округляем его до 3 знаков после запятой(если не нужно округлять - оставьте только (a*b*c)/(4*S))
6) Выводим ответ

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Игра ним для двух игроков с одной кучей и ограничением на количество забираемых камней: за один ход можно взять не больше трёх камней. Напишите программу с «искусственным интеллектом» (ИИ), которая играет против пользователя и выигрывает, если может. Исходное количество камней в куче задаёт пользователь, программа всегда ходит первой. После каждого хода пользователя и программы необходимо сообщать, сколько камней взято и сколько осталось. В конце необходимо сообщить, кто выиграл. Пользователь в свой ход вводит количество камней до тех пор, пока не введёт разрешённое число — от одного до трёх (или меньше — если камней осталось меньше При вводе некорректного значения необходимо вывести фразу: Некорректный ход: и заново потребовать вводить данные. После хода игрока или ИИ необходимо вывести два числа: сколько камней было взято и сколько камней осталось в куче. Если выигрывает игрок, то надо вывести фразу: Вы выиграли!, а если ИИ - фразу: ИИ выиграл! Все сообщения программы должны строго соответствовать условию.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

natkul22
mpityk
platonovkosty
staskamolbio5152
egorov
andreokiseleo69421
perova-s200
faberlic0168
neblondinka19
slazurnaya
cashuta
vfilina
Евгений1286
office46
andreanikin