Чтобы получить 5 литров воды, используя два сосуда объемом 3 литра и 7 литров, можно следовать такому алгоритму:
Заполнить 7-литровый сосуд полностью.
- Теперь у вас есть 7 литров воды в 7-литровом сосуде, а 3-литровый сосуд пуст.
Перелить из 7-литрового сосуда в 3-литровый.
- Переливается 3 литра, так как вместимость второго сосуда ограничена.
- В результате: 7-литровый сосуд содержит 4 литра воды, а 3-литровый сосуд полон.
Опустошить 3-литровый сосуд.
- Теперь у вас 0 литров в 3-литровом сосуде и 4 литра в 7-литровом сосуде.
Перелить оставшиеся 4 литра из 7-литрового сосуда в 3-литровый сосуд.
- 3-литровый сосуд теперь содержит 3 литра воды, а 7-литровый — 1 литр.
Заполнить 7-литровый сосуд полностью снова.
- Теперь у вас 7 литров в 7-литровом сосуде и 3 литра в 3-литровом сосуде.
Перелить из 7-литрового сосуда в 3-литровый сосуд, пока последний не наполнится.
- Переливается 2 литра, так как в 3-литровом сосуде уже есть 3 литра, а его максимальная вместимость — 3 литра.
- В результате: 7-литровый сосуд содержит 5 литров воды, а 3-литровый сосуд полон.
Теперь у вас есть ровно 5 литров воды в 7-литровом сосуде. Этот процесс демонстрирует решение классической задачи, основанной на манипуляциях с ограниченными объемами, что может быть полезно для понимания концепций алгоритмического мышления и оптимизации.