《枚举法解决百元买百鸡精品专业课件》由会员分享,可在线阅读,更多相关《枚举法解决百元买百鸡精品专业课件(20页珍藏版)》请在金锄头文库上搜索。
1、枚举法实例1精品 PPT 欢迎下载 可修改什么是枚举法精品精品 PPT 欢迎欢迎下载下载 可修改可修改v基本思想枚举也称穷举,指的是从问题可能的解的集合中一一列举各元素。用题目给定的条件判定哪些是无用的,哪些是有用的。能使命题成立,即为其解。本质上属于搜索算法2什么是枚举法精品精品 PPT 欢迎欢迎下载下载 可修改可修改v特点容易理解,步骤单一。得到的结果肯定是正确的。通常会涉及到求极值(如最大,最小等)。数据量大的话,可能会造成时间崩溃。3引子精品精品 PPT 欢迎欢迎下载下载 可修改可修改【例1】以下式子中的每个汉字代表一个数字,求出这些汉字代表的数字分别是多少? 慕课制作组X 慕组组组组
2、组组4枚举法精品精品 PPT 欢迎欢迎下载下载 可修改可修改v计算机解决枚举问题算法简单、精确度高。常用多重循环解决枚举问题(while循环、for循环)。效率低当问题的规模变大,循环的阶数增加,执行的速度严重变慢。5百元买百鸡问题【例2】鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一。百钱买百鸡,问鸡翁、母、雏各几何?解题思路:设鸡翁、鸡母、鸡雏的数量分别为x,y,z,则有以下方程x+y+z=1005x+3y+z/3=100此三元一次方程有多个解,可用枚举法求解。精品精品 PPT 欢迎欢迎下载下载 可修改可修改6百元买百鸡问题C语言解法一:main() int x, y, z; for(x=
3、1;x=100;x+) for(y=1;y=100;y+) for(z=1;z=100;z+) if(z%3=0)&(x+y+z=100)&(5*x+3*y+z/3=100) printf(“鸡翁%d只,鸡母%d只,鸡雏%d只n,x,y,z);精品精品 PPT 欢迎欢迎下载下载 可修改可修改7百元买百鸡问题C语言解法一:精品精品 PPT 欢迎欢迎下载下载 可修改可修改main() int x, y, z; for(x=1;x=100;x+) for(y=1;y=100;y+) for(z=1;z=100;z+) if(z%3=0)&(x+y+z=100)&(5*x+3*y+z/3=100) p
4、rintf(“鸡翁%d只,鸡母%d只,鸡雏%d只n,x,y,z);枚举次数:100*100*100=100万次!8百元买百鸡问题精品精品 PPT 欢迎欢迎下载下载 可修改可修改有没有更好的解法呢? 9百元买百鸡问题C语言解法二:main() int x,y,z; for(x=1;x=20;x+) for(y=1;y=33;y+) if(100-x-y)%3=0)&(5*x+3*y+(100-x-y)/3=100) z=100-x-y; printf(“鸡翁%d只,鸡母%d只,鸡雏%d只n,x,y,z); 枚举次数:20*33=660次!10精品精品 PPT 欢迎欢迎下载下载 可修改可修改LOG
5、Ov9、 人的价值,在招收诱惑的一瞬间被决定。2024/9/25 2024/9/25 Wednesday, September 25, 2024v10、低头要有勇气,抬头要有低气。2024/9/25 2024/9/25 2024/9/25 9/25/2024 2:38:12 PMv11、人总是珍惜为得到。2024/9/25 2024/9/25 2024/9/25 Sep-24 25-Sep-24v12、人乱于心,不宽余请。2024/9/25 2024/9/25 2024/9/25 Wednesday, September 25, 2024v13、生气是拿别人做错的事来惩罚自己。2024/9/2
6、5 2024/9/25 2024/9/25 2024/9/25 9/25/2024v14、抱最大的希望,作最大的努力。25 九月 20242024/9/25 2024/9/25 2024/9/25v15、一个人炫耀什么,说明他内心缺少什么。九月 242024/9/25 2024/9/25 2024/9/25 9/25/2024v16、业余生活要有意义,不要越轨。2024/9/25 2024/9/25 25 September 2024v17、一个人即使已登上顶峰,也仍要自强不息。2024/9/25 2024/9/25 2024/9/25 2024/9/25百元买百鸡问题有没有更好的解法呢? 精
7、品精品 PPT 欢迎欢迎下载下载 可修改可修改12LOGOv9、 人的价值,在招收诱惑的一瞬间被决定。2024/9/25 2024/9/25 Wednesday, September 25, 2024v10、低头要有勇气,抬头要有低气。2024/9/25 2024/9/25 2024/9/25 9/25/2024 2:38:12 PMv11、人总是珍惜为得到。2024/9/25 2024/9/25 2024/9/25 Sep-24 25-Sep-24v12、人乱于心,不宽余请。2024/9/25 2024/9/25 2024/9/25 Wednesday, September 25, 2024
8、v13、生气是拿别人做错的事来惩罚自己。2024/9/25 2024/9/25 2024/9/25 2024/9/25 9/25/2024v14、抱最大的希望,作最大的努力。25 九月 20242024/9/25 2024/9/25 2024/9/25v15、一个人炫耀什么,说明他内心缺少什么。九月 242024/9/25 2024/9/25 2024/9/25 9/25/2024v16、业余生活要有意义,不要越轨。2024/9/25 2024/9/25 25 September 2024v17、一个人即使已登上顶峰,也仍要自强不息。2024/9/25 2024/9/25 2024/9/25
9、2024/9/25百元买百鸡问题化简令x=4k精品精品 PPT 欢迎欢迎下载下载 可修改可修改14百元买百鸡问题C语言解法三:main() int k; for(k=1;k=3;k+) printf(“鸡翁%d只,鸡母%d只,鸡雏%d只n,4k,25-7k,z);枚举次数: 3次!精品精品 PPT 欢迎欢迎下载下载 可修改可修改15枚举法精品精品 PPT 欢迎欢迎下载下载 可修改可修改v优化策略对问题多加分析,减少循环重数和次数。合理选择用于枚举的变量。减少每种情况的判断时间。是否有其他更好的方法。16知识拓展精品精品 PPT 欢迎欢迎下载下载 可修改可修改v试用枚举法解决以下两个问题从110
10、的10个数中,每次取2个数,要使它们的和大于10,一共有多少种取法?从学校到少年宫有4条东西走向的马路和3条南北走向的马路,小明从学校步行到少年宫(只许向东或向南行走),最多有多少种走法?17信息工程学院主讲教师:门瑞18精品 PPT 欢迎下载 可修改v9、 人的价值,在招收诱惑的一瞬间被决定。25-9月-2425-9月-24Wednesday, September 25, 2024v10、低头要有勇气,抬头要有低气。*9/25/2024 2:38:14 PMv11、人总是珍惜为得到。25-9月-24*Sep-24 25-Sep-24v12、人乱于心,不宽余请。*Wednesday, Sept
11、ember 25, 2024v13、生气是拿别人做错的事来惩罚自己。25-9月-2425-9月-24*25 September 2024v14、抱最大的希望,作最大的努力。25 九月 2024*25-9月-24v15、一个人炫耀什么,说明他内心缺少什么。九月 24*25-9月-24*25 September 2024v16、业余生活要有意义,不要越轨。*9/25/2024v17、一个人即使已登上顶峰,也仍要自强不息。*25-9月-24谢谢大家谢谢大家19精品精品 PPT 欢迎欢迎下载下载 可修改可修改LOGOv9、 人的价值,在招收诱惑的一瞬间被决定。2024/9/25 2024/9/25 W
12、ednesday, September 25, 2024v10、低头要有勇气,抬头要有低气。2024/9/25 2024/9/25 2024/9/25 9/25/2024 2:38:15 PMv11、人总是珍惜为得到。2024/9/25 2024/9/25 2024/9/25 Sep-24 25-Sep-24v12、人乱于心,不宽余请。2024/9/25 2024/9/25 2024/9/25 Wednesday, September 25, 2024v13、生气是拿别人做错的事来惩罚自己。2024/9/25 2024/9/25 2024/9/25 2024/9/25 9/25/2024v14、抱最大的希望,作最大的努力。25 九月 20242024/9/25 2024/9/25 2024/9/25v15、一个人炫耀什么,说明他内心缺少什么。九月 242024/9/25 2024/9/25 2024/9/25 9/25/2024v16、业余生活要有意义,不要越轨。2024/9/25 2024/9/25 25 September 2024v17、一个人即使已登上顶峰,也仍要自强不息。2024/9/25 2024/9/25 2024/9/25 2024/9/25谢谢大家谢谢大家