农夫山羊狼白菜编程怎么写代码

农夫山羊狼白菜编程怎么写代码,第1张

农夫山羊狼白菜编程写代码的步骤:

1、首先要定义好程序的输入,比丛键如羊、狼、白菜的数量,然后定义程序的输出,比如最后剩下的羊、狼、白菜的数量物御。

2、再定义好程序的运行步罩郑岩骤,比如狼吃羊,羊吃白菜,白菜不动。

3、最后计算出结果。

一、2种方式:

1、把羊带到河对岸 ->把狼带到河对岸,再把羊带回来 - 把白菜带到河对岸 - 把羊带到河对岸;

2、把羊带到河对岸 ->把白菜带到河对岸,再把羊带回来 -把狼带到河对岸 -把羊带到河对岸;

二、问题分析:

抛开算法,把这个题当成是一个简单的逻辑题的话还是挺好解的,过不了多久你就会发现几个关键的问题:

1、要时刻注意农夫的位置,因为农夫不在地时候狼会吃羊,羊会吃菜;

2、第一步只能把羊带走;

3、最后一步只能是把羊从河对岸带过来;

会发现羊其实是问题的关键,只要保证羊和狼和白菜隔离开来,那么就很容易解这个问题。

扩展资料:

过河问题顷纯,其实质就是一种状态的改变,就像这个问题说的,农夫狼羊菜都要从河的这边到对岸去,也就对应了两个状态,一个是没过河的状态,一个是过了河的状态。

所以很自然的联想到了用0和1来表示他们的状态,并且每时每雀扒咐刻,农夫狼羊菜的状态都对应一个特定的状态,比如没过河的状态是0000,四个都没有过河,而过河的状态是1111。这样做的此衡好处是将问题抽象成了计算机能够处理的数据。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/12565653.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存