用5升和6升桶接3升水

427 阅读1分钟

题目:

有两个容器,有两个容积分别为5升和6升的容器,容器没有刻度,需要接3升水,附加条件是不得使用其他容器。

答案:

let water = 0;
while (water !== 3) {
  water =6 - 5 + water;
  console.log(water);// 1 2 3
}

解析:

  • 第一次循环:6升桶装满6升水,5升桶不装水,将6升桶中的水倒入5升桶,6升桶剩1升;
  • 第二次循环:将6升桶中剩下的1升水倒入5升桶,再将6升桶装满6升水,将6升桶中的水倒入5升桶中,因为5升桶中已有1升水,所以6升桶中还剩2升水;
  • 第三次循环:将6升桶中剩下的2升水倒入5升桶,再将6升桶装满6升水,将6升桶中的水倒入5升桶中,因为5升桶中已有2升水,所以6升桶中还剩3升水,循环结束。