倒水问题8L的杯子和3l的杯子,水有很多,要倒出4L的杯子,怎么倒?

问题描述:

倒水问题8L的杯子和3l的杯子,水有很多,要倒出4L的杯子,怎么倒?

基本思想是:结果是4L,所以最终的4L肯定在8L的杯子中,一种方法是把3L的杯子是辅助杯子。查看8的倍数中模3后为1时(如果为一了,加上三就是四了),这个倍数是几(当然是满足要求的最少的倍数)。容易求得2*8%3 = 1。另一种方法是将8L的杯子看做辅助杯子,3*4%8 = 4
状态 8L杯子 3L杯子 4L杯子(实际问题应该没这个杯子,是得到4L的水而已)
状态1: 8 0
(到三次)
状态2: 8 2
(到两次)
状态3: 4 0 4
(中间很多状态省略了)

先用3L的杯子网8L的杯子里倒水,倒三次,此时3L的杯子里剩1L水,把8L杯子的水倒掉,把3L杯子里剩的1L倒入8L杯子里,再用3L杯子再倒3L水到8L杯子里,正好4L

8L装满,倒入3L;倒掉3L,再用8L剩下的倒入3L;现在8L剩2L.
倒掉3L,将2L倒入3L;将8L再装满,接着往3L中倒;两次后剩余1L.
装满3L倒入8L就可以了