Итак
Предположим у нас есть два сосуда — на 3 и на 5 литров. Нужно получить 4 литра. Раковина, вода, все как положено. Можно просто логически придумать решение:
1) Набираем полностью сосуд 5 литров. (в первом 0л, во втором 5л)
2) Переливаем часть в 3х литровый (в первом 3л, во втором 2л)
3) Выливаем из 3х литрового сосуда 3 литра. Он становится пустым (в первом 0, во втором 2)
4) Переливаем литра из 5ти литрового сосуда в 3х литровый 2 литра. (в первом 2л, во втором 0л)
5) Набираем полностью 5ти литровый сосуд (в первом 2л, во втором 5л)
6) Переливаем из 5ти литрового в 3х литровый сколько влезет (в первом 3, во втором 4)
7) Из первого можно вылить ненужные 3 литра.
Это относительно несложная задачка, и вполне можно додумать до этих 7 действий. Но бывает хуже. Где прогадать 20—30 переливаний уже сложно. Наверно поэтому и был придуман бильярдный метод :)
«Суть метода заключается в представлении последовательности переливаний аналогично движению бильярдного шарика отражающегося от бортов стола, имеющего форму параллелограмма, на котором нанесена сетка из одинаковых равносторонних треугольников.
Нарисовав на клетчатой бумаге исходную конфигурацию, необходимо проследить возможные движения шарика в соответствии с законом «угол падения равен углу отражения» и попадание им в требуемые точки по условию задачи. Освоив ее, нетрудно получить решение задачи на переливания (пересыпания) для трех сосудов различного объема. "
По горизонтали, ясно дело, показаны литры 5ти литрового кувшина. По вертикали — 3х литрового. Предположим что бильярдный шар находится в 0 и толкаем его к 5ти литрам по горизонтали. Теперь смотрим по координатам и записываем — (0,5). Дальше он ударяется об угол и катится влево вверх, пока не дойдет до бортика. Теперь точка (3,2). Теперь влево вниз по прямой — (0,2). Опять отталкивается, летит к левому бортику — (2,0). Вправо — (2,5). Влево вверх — (3,4). И вниз — (0,4).
Вот и все. Получили нужный ответ. It's easy.
Существует ооочень много задач на эту тему. При таких же сосудах можно попытаться получить 3 литра. Или с 5ти и 7ми литровым получить 6 литров. Точно также чертится параллелограммчик и вперед.
Чтобы самому придумать задачу, надо знать всего два правила:
» Пусть имеются два пустых сосуда объемом A литров и B литров и требуется набрать из реки ровно C литров воды. Если число C не делится на наибольший общий делитель чисел A и B, то это сделать невозможно.
Если C делится на наибольший общий делитель чисел A и B, то в таком случае задача всегда имеет решение. В частности, это всегда возможно, если числа A и B взаимно просты.»
И вы никогда не получите 3 литра, если у вас есть 6ти литровый и 2х литровый сосуд :)


