趣味数学-如何得到所需体积的水
给你三个桶,分别装8升、5升和3升的水。最初,第一个桶装满了8升水,而剩下的两个桶是空的。在桶上没有标记刻度,所以你只能把一个桶倒进另一个桶里或装满另一个桶,用一个桶里的水来盛满另一个桶的容量。
(a)描述一个程序,通过这个程序我们可以在第一个桶中获得恰好6升的水。
(b)描述一个程序,通过这个程序我们可以在第一个桶中获得恰好4升的水。
解:
(a)让三元组(a, b, c)中的a, b, c升水分别代表在第一,第二,第三个水桶中水的体积。然后初始状态由(8,0,0)这个数组表示初始过程。
第一桶的6升得到的方式如下:
(8,0,0)→(3,5,0)→(3,2,3)→(6,2,0)。
语言描述就是将第一桶的水倒满第二桶,这是第二数组,然后将第二桶倒满第三桶,这是第三个数组,随后将第三桶倒回第一桶,就完成了第一桶为6升的水。
(b)从(a)中得到的位置(6,2,0),我们可以进行如下操作:
(6 2 0)→(6 0 2)→(1、5、2)→(1,4,3)→(4 4 0)。
上述文字描述省略。
本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 3231169@qq.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.shituxiezuo.com/8737.html
如若转载,请注明出处:https://www.shituxiezuo.com/8737.html