Для решения этой задачи можно воспользоваться методом переливания воды между кувшинами. Приведенный ниже алгоритм описывает последовательность шагов, позволяющую набрать ровно 7 литров воды, используя только эти два кувшина.
Заполните 8-литровый кувшин полностью.
- Теперь у вас 8 литров воды в 8-литровом кувшине и 0 литров в 3-литровом кувшине.
Перелейте воду из 8-литрового кувшина в 3-литровый кувшин до его заполнения.
- В 3-литровом кувшине теперь 3 литра воды, а в 8-литровом кувшине осталось 5 литров (8 - 3 = 5).
Вылейте воду из 3-литрового кувшина обратно в реку.
- Теперь 3-литровый кувшин пуст, а в 8-литровом кувшине всё ещё 5 литров воды.
Перелейте оставшиеся 5 литров из 8-литрового кувшина в 3-литровый кувшин.
- Теперь в 3-литровом кувшине 3 литра воды, а в 8-литровом кувшине осталось 2 литра (5 - 3 = 2).
Вылейте воду из 3-литрового кувшина обратно в реку.
- Теперь 3-литровый кувшин пуст, а в 8-литровом кувшине всё ещё 2 литра воды.
Перелейте 2 литра из 8-литрового кувшина в 3-литровый кувшин.
- Теперь в 3-литровом кувшине 2 литра воды, а 8-литровый кувшин пуст.
Заполните 8-литровый кувшин полностью.
- Теперь у вас 8 литров воды в 8-литровом кувшине и 2 литра в 3-литровом кувшине.
Перелейте воду из 8-литрового кувшина в 3-литровый кувшин до его заполнения.
- В 3-литровом кувшине теперь 3 литра воды (2 литра уже были, и ещё 1 литр добавлен до заполнения), а в 8-литровом кувшине осталось 7 литров (8 - 1 = 7).
В итоге, в 8-литровом кувшине у вас окажется ровно 7 литров воды.