`
zhangxiang390
  • 浏览: 214765 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

3升杯子5升杯子倒出4升水

阅读更多

下午无意中看到了一个题:两个杯子,一个5升,一个3升,请在30s 内说出该如何倒出4升水。

网上的答案是这样的:先把3升的水杯倒满,然后把水倒入5升的水杯;然后再把3升的水杯倒满,接着将水倒到5升水杯中,倒满时候3升水杯里就只有1升水了;把5升水杯水倒掉;把那1升水倒进来;再把3升水杯倒满,再倒入5升水杯。这样就搞定。

我当时的想法是:先加满5升,在倒入3升的水杯,剩2升,把3升的倒掉,将2升倒入3升的杯子,把5升加满,在往已经有2升的杯子中到,则余下4升。

为了找出其他的一些倒法,只好利用计算机了,求解的结果如下(格式:[5升杯子剩余的水 , 3升杯子剩余的水]):

>> Found 10 Answers(in ten steps).
[0,0] --> [5,0] --> [2,3] --> [2,0] --> [0,2] --> [5,2] --> [4,3]    total steps:6
[0,0] --> [5,0] --> [2,3] --> [2,0] --> [0,2] --> [5,2] --> [4,3] --> [4,0]    total steps:7
[0,0] --> [5,0] --> [2,3] --> [2,0] --> [0,2] --> [5,2] --> [4,3] --> [4,0] --> [4,3]    total steps:8
[0,0] --> [0,3] --> [3,0] --> [3,3] --> [5,1] --> [0,1] --> [1,0] --> [1,3] --> [4,0]    total steps:8
[0,0] --> [0,3] --> [3,0] --> [3,3] --> [5,1] --> [0,1] --> [1,0] --> [1,3] --> [4,0] --> [4,3]    total steps:9
[0,0] --> [0,3] --> [3,0] --> [0,0] --> [5,0] --> [2,3] --> [2,0] --> [0,2] --> [5,2] --> [4,3]    total steps:9
[0,0] --> [5,0] --> [2,3] --> [0,3] --> [5,3] --> [5,0] --> [2,3] --> [2,0] --> [0,2] --> [5,2] --> [4,3]    total steps:10
[0,0] --> [5,0] --> [2,3] --> [0,3] --> [3,0] --> [3,3] --> [5,1] --> [0,1] --> [1,0] --> [1,3] --> [4,0]    total steps:10
[0,0] --> [0,3] --> [3,0] --> [3,3] --> [5,1] --> [5,0] --> [2,3] --> [2,0] --> [0,2] --> [5,2] --> [4,3]    total steps:10
[0,0] --> [0,3] --> [3,0] --> [0,0] --> [5,0] --> [2,3] --> [2,0] --> [0,2] --> [5,2] --> [4,3] --> [4,0]    total steps:10

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics