题目:
有两个容器,有两个容积分别为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升水,循环结束。