# 递归问题

假设你有一个3升的容器和一个5升的容器（以及充足的水源），如何精确地取出4升水来？

（为了下文叙述的方便，我们不妨把3升的容器和5升的容器分别记做容器A和容器B）。这里提供一种解法：

将A装满（3升），全部倒入B 再次将A装满（3升），用A中的水将B装满，此时A有1升，B有5升 B中的水全部倒出，将A中的1升水倒入B，此时A没有水，B有一升 再次将A装满（3升），将A中的水全部倒入B，此时B中恰有4升的水&#x20;

这样的问题存在一个万能的解法吗？答案是肯定的。注意到，用3升的容器和5升的容器量出4升的水，这一看似复杂的步骤可以简单地概括为：不断地将整杯整杯的A往B里倒，期间只要B被装满就把B倒空。
