1,枚举算法的定义:
在进行归纳推理时,如果逐个考察了某类事件的所有可能情况,因而得出一般结论,那么该结论是可靠 的,这种归纳方法叫做枚举法。
2,枚举算法的思想是:
将问题的所有可能的答案一一列举,然后根据条件判断此答案是否合适,保留合适的,舍弃不合适的。
3,使用枚举算法解题的基本思路如下:
(1)确定枚举对象、范围和判定条件。
(2)逐一枚举可能的解并验证每个解是否是问题的解。
4,枚举算法步骤:
(1)确定解题的可能范围,不能遗漏任何一个真正解,同时避免重复。
(2)判定是否是真正解的方法。
(3)为了提高解决问题的效率,使可能解的范围将至最小,
鸡兔同笼
有若干只鸡和兔在同一个笼子,从上面数有35个头,从下面数有94只脚,请你在scratch中设计一个算法来解决这个问题,求出这个笼子里有多少只鸡和多少只兔子?
想一想再看答案哦!
Python求解
''' 令头的总数为变量 head,脚的总数为变量 foot 假设鸡(chicken)有x只,兔(rabbit)就有总数head-x ''' def chicken_and_rabbit(head, foot): for chicken in range(1, head+1): # 让鸡从1开始枚举到头的总数个 如果头总数为35 python语言range(1,35)只能从1枚举到34 所以这里要head+1 for rabbit in range(1, head-chicken+1): # 让兔子也从1开始枚举只需要枚举到 总数-鸡的个数 if chicken * 2 + rabbit * 4 == foot and chicken+rabbit == 35: print('鸡有{}只,兔子有{}只'.format(chicken, rabbit)) if __name__ == '__main__': chicken_and_rabbit(35, 94)
1 评论 最近
simenge的天空 作者
2020-05-07T13:24:13Z用枚举法试着解决《百钱百鸡问题》 公鸡每只 5 元,母鸡每只 3 元,小鸡三只 1 元,用 100 元买 100 只鸡,试用程序找出所有的买鸡方案?