【大厂智力题】水桶倒水问题

先说第一个问题:5L和6L水桶,如何得到三升水?

我就想到了两种方法。

方法一:

  1. 6L水桶装满,倒入5L水桶将其装满,6L水桶中剩1L水
  2. 倒空5L水桶,将1L水转移到5L水桶中
  3. 6L水桶装满,倒入5L水桶将其装满,这时6L水桶中剩2L水
  4. 倒空5L水桶,将2L水转移到5L水桶中
  5. 6L水桶装满,倒入5L水桶将其装满,这时6L水桶中剩3L水

方法二:

  1. 5L水桶装满,倒入6L水桶,6L水桶中有5L
  2. 5L水桶装满,将6L水桶装满,5L水桶还剩4L。
  3. 将6L水桶中的水倒掉,并将5L水桶的水全部导入6L水桶,6L水桶有4L水
  4. 将5L水桶装满,用5L水桶将6L水桶装满,5L水桶还剩3L。

第二个问题:3L和5L水桶,如何得到四升水?

同样,我又想到了两种方法:

方法一:
和上面这道题的方法类似

  1. 5L水桶装满,倒入3L水桶将其装满,5L水桶中剩2L水
  2. 倒空3L水桶,将2L水转移到3L水桶中
  3. 5L水桶装满,将3L水桶注满,这个时候留在5L水桶里的水就是4L

方法二:

  1. 3L的水桶装满水,倒入5L的水桶,5L水桶还有2L空间;
  2. 3L水桶装满水,再倒入5L水桶,5L水桶满了,3L水桶里面有1L水;
  3. 5L水桶的水全部倒掉;
  4. 3L水桶里面剩下的1L水倒入5L水桶里面,现在5L水桶里面有了1L水;
  5. 3升水桶装满水,倒进5L水桶里面,得到4L水。

大厂智力题还是有点意思的。。。。

你可能感兴趣的:(算法问题)