М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
sdfsdfsddf
sdfsdfsddf
15.12.2021 23:05 •  Информатика

Игра ним с тремя кучами для одного игрока без ограничений на количество забираемых камней.

на первой, второй и третьей строках указывается начальное количество камней в первой, второй и третьей кучах. далее идут ходы, каждый из которых представляется двумя числами на отдельных строках: на первой строке число 1, 2 или 3 — номер кучи, из которой берутся камни; на второй строке — количество забираемых камней.

программа выводит количество камней в трёх кучах после каждого хода.

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

формат вывода
в ответ на каждый ход игрока выведите три числа на одной строке через пробел — количество камней в первой, второй и третьей кучках после этого хода.
питон

👇
Ответ:
zhuckovanatali1
zhuckovanatali1
15.12.2021
Хорошо, давайте разберемся с этой задачей пошагово.

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

```python
first_pile = int(input()) # количество камней в первой куче
second_pile = int(input()) # количество камней во второй куче
third_pile = int(input()) # количество камней в третьей куче
```

Теперь, когда у нас есть начальные значения камней в кучах, мы можем перейти к описанию ходов. Мы будем использовать цикл while, чтобы продолжать игру до тех пор, пока есть камни в кучах. Каждая итерация цикла будет представлять собой один ход игрока.

Для каждого хода, мы сначала должны получить от пользователя номер кучи (1, 2 или 3), из которой он хочет взять камни. Затем, мы должны получить от пользователя количество забираемых камней. Например:

```python
while first_pile > 0 or second_pile > 0 or third_pile > 0:
pile_number = int(input()) # номер кучи
stones_taken = int(input()) # количество забираемых камней
```

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

```python
if pile_number == 1:
first_pile -= stones_taken
elif pile_number == 2:
second_pile -= stones_taken
elif pile_number == 3:
third_pile -= stones_taken
```

Наконец, мы выводим обновленное количество камней в каждой куче. Например:

```python
print(first_pile, second_pile, third_pile)
```

Полный код программы будет выглядеть так:

```python
first_pile = int(input()) # количество камней в первой куче
second_pile = int(input()) # количество камней во второй куче
third_pile = int(input()) # количество камней в третьей куче

while first_pile > 0 or second_pile > 0 or third_pile > 0:
pile_number = int(input()) # номер кучи
stones_taken = int(input()) # количество забираемых камней

if pile_number == 1:
first_pile -= stones_taken
elif pile_number == 2:
second_pile -= stones_taken
elif pile_number == 3:
third_pile -= stones_taken

print(first_pile, second_pile, third_pile)
```

Теперь, используя этот код, программа будет просить пользователя ввести количество камней в каждой куче и описывать ходы игрока, выводя обновленное количество камней после каждого хода.
4,5(45 оценок)
Проверить ответ в нейросети
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ