- 17
- 0
- 约1.88千字
- 约 19页
- 2019-12-02 发布于天津
- 举报
LOGO LOGO LOGO 信息工程学院 枚举法实例 信息工程学院 主讲教师:门瑞 信息工程学院 什么是枚举法 基本思想 枚举也称穷举,指的是从问题可能的解的集合中一一列举各元素。 用题目给定的条件判定哪些是无用的,哪些是有用的。能使命题成立,即为其解。 本质上属于搜索算法 信息工程学院 什么是枚举法 特点 容易理解,步骤单一。 得到的结果肯定是正确的。 通常会涉及到求极值(如最大,最小等)。 数据量大的话,可能会造成时间崩溃。 信息工程学院 引子 【例1】以下式子中的每个汉字代表一个数字,求出这些汉字代表的数字分别是多少? 慕课制作组 X 慕 组组组组组组 信息工程学院 枚举法 计算机解决枚举问题 算法简单、精确度高。 常用多重循环解决枚举问题(while循环、for循环)。 效率低——当问题的规模变大,循环的阶数增加,执行的速度严重变慢。 信息工程学院 百元买百鸡问题 【例2】鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一。百钱买百鸡,问鸡翁、母、雏各几何? 解题思路: 设鸡翁、鸡母、鸡雏的数量分别为x,y,z,则有以下方程 x+y+z=100 5x+3y+z/3=100 此三元一次方程有多个解,可用枚举法求解。 信息工程学院 百元买百鸡问题 C语言解法一: main() { int x, y, z; for(
原创力文档

文档评论(0)