倒水的问题

这学期我们学习了容器过后,经常遇到2个不同容量的桶,要量出其他容量的水,比如通过一个7L和5L容量的桶,量出1L的水?
这个题很简单,我们可以通过以下步骤解决:

  1. 先将5L的桶装满水,并倒入7L的桶中
  2. 再将5L的桶装满水,再倒入7L的桶中,此时5L桶仅剩3L水
  3. 把7L桶清空,并把5L桶中的3L水倒入7L桶中
  4. 再将5L桶装满水,倒入7L桶中,此时7L桶仅剩4L空间,5L桶中就剩余1L水

通过以上操作,我们就用7L和5L容量的桶,量出1L的水。但是如果改变桶的容量,和需要量出来水的多少,有没有什么通用的方法?其实上面中,就是把两个数字不断加减得到第三个数字,上题中就是5L桶不断加水,7L桶不断清空,也就是5n-7m=1,其实就是解这个方程,其中n=2,m=3是其最小的整数解,也就是操作次数最少的。当n=10,m=7时其实也可以得到。通过以上方法,我们可以列出这种题目通用解放了,x y的桶量出z的液体,有:
nx-my=z
或者
my-nx=z
这样我们就可以寻找这些方程的整数解找出操作的方法。