Каждый с пелёнок помнит эту задачу. И в "Крепком орешке - 3" её решали, и в незавбенных "Космических рейнджерах" и не упомню где ещё. Есть два сосуда, на 3 и 5 литров, и нужно организовать в одном из них ровно 4 литра. И алгоритм решения тоже тайны не составляет. Алгоритм - это вещь, конечно, хорошая, но не отвечающая на некоторые вопросы. В частности, всегда ли задача имеет решение? Скажем, если взять ёмкости 6 и 4 литра, можно ли этим способом получить 3 литра? Чтобы разобраться в вопросе, немного изменим алгоритм. Будем не выливать воду, чтобы освободить сосуд, а добавлять новый пустой того же объёма. Тогда процедуру решения задачи можно проиллюстрировать следующим образом: Как видим, ничего принципиально не поменялось. Но зато появилась возможность построить математическую модель задачи: У нас получилось, что три наполнения меньшего сосуда и одно наполнение большего удовлетворяют уравнению очень знакомого вида: Ax - By = C Это, как не трудно убедиться, самое обычное линейное диофа