题目内容

6.一个人带着三只狼和三只羚羊过河,只有一条船,该船可容纳一个人和两只动物.没有人在的时候,如果狼的数量不少于羚羊的数量,狼就会吃羚羊.该人如何才能将动物转移过河?请设计算法.

分析 若狼的数量不少于羊的数量,狼会吃羊,那么羊的数量要一直多于狼的数量,先把2只狼带到对岸,然后人自己返回,再一只羊带到对岸,然后把两只狼带回;再把两只羊带到对岸,然后人自己返回,再把3只狼份两次运到对岸即可.

解答 解:人和动物同船不用考虑动物的争斗,但需考虑承载的数量,还应考虑到两岸的动物都得保证狼的数量要小于羚羊的数量,故在算法的构造中应尽可能保证船里面有狼,这样才能使得两岸的羚羊数量占到优势,具体算法如下:
第一步,人带两只狼过河,自己返回.
第二步,人带一只羚羊过河,带2只狼返回.
第三步,人带两只羚羊过河,自己返回.
第四步,人带带2只狼过河,自己返回.
第五步,人带1只狼过河.

点评 本题主要考查了设计程序算法解决实际问题,解决本题抓住羊的数量要一直多于羊的数量这一特点,进行求解即可,属于基础题.

练习册系列答案
相关题目

违法和不良信息举报电话:027-86699610 举报邮箱:58377363@163.com

精英家教网