исполнитель водолей — задача на переливания, отмерить 4 литра двумя сосудами
Дали исполнитель Водолей. Есть два сосуда: на 5 литров и на 3 литра, и бесконечный кран + слив. Надо получить ровно 4 литра в большом. Я переливаю туда-сюда и у меня то 2 то 1 литр, до 4 никак не дойду. Можно по шагам как это делается?
2 ответа
Классика! Сосуды 5 и 3, надо получить 4 в пятилитровом. Команды Водолея обычно: наполнить, вылить (опустошить), перелить из одного в другой.
Пошаговое решение:
Наполнить A (A=5, B=0)
Перелить из A в B (A=2, B=3) — в B влезло только 3
Вылить B (A=2, B=0)
Перелить из A в B (A=0, B=2)
Наполнить A (A=5, B=2)
Перелить из A в B (A=4, B=3) — в B долили 1 до полного
Готово, в A ровно 4 литра.
Где A — сосуд на 5 л, B — на 3 л. Ключевая идея: «перелить из A в B» льёт пока ИЛИ A не опустеет, ИЛИ B не наполнится. Поэтому на последнем шаге в B вошёл только 1 литр (там уже было 2), а в A осталось 4.
Совет: всегда веди табличку (A, B) после каждой команды — как я в скобках. Без таблички в переливаниях запутаться легче лёгкого.
Главное правило Водолея: «перелить» останавливается сам — либо когда из чего льёшь опустело, либо куда льёшь заполнилось. Это не «вылей всё подчистую».
Как понял это — задачи решаются. И обязательно записывай состояние обоих сосудов после каждого шага.