课件12张PPT。打开电视看电影启动电脑挂QQ用穷举法求解问题的实践示例案例一:
案例二:
“我也能做福尔摩斯 ”枚举算法的程序实现枚举算法回顾基本思想:
把问题所有可能的解,逐一罗列出来并加以验证,若是问题的真正解,予以采纳,否则就抛弃它。注意点: 既不遗漏、也不重复关键点:
⑴确定范围:列举该问题所有可能的解
⑵验证条件:检验每个可能解是不是问题的真正解实战练习1:问题:密码再次被盗,黑客又给我留了线索, 提示密码跟上面的图片有密切联系:
1、它是一个5位数的,其百位数和十位数处已经被
涂掉了,如上图所示。
2、这个5位数是37或67的倍数。
要求找出所有满足这些条件的5位数。并统计这些5位数的个数。然后将答案发送E-mail至hk@163.com,即可取回密码。确定范围:
验证条件:25006--25996分析:实战练习2:问题:
密码第三次被盗,黑客又给我出了个难题:
找出并统计前100个正整数中A类数的个数。
注:一个十进制整数的二进制表示中,如果数
字“1”的个数多于数字“0”的个数,则称该整数
为A类数,例如十进制整数5的二进制表示为101,
则5为一个A类数。
密码是所有满足条件的A类数的和,请帮老师找回密码。确定范围:
验证条件:1--100分析: 讨 论 : 1、一个正整数如何转换成二进制数?
2、如何统计二进制数中1和0的个数? 1、我们使用信用卡在柜员机上取钱时,为什么系
统要限制输入密码的次数?
思维拓展:2、密码日记本、密码旅行箱的安全性?
3、QQ密码安全?小结确定范围:列举该问题所有可能的解 (循环语句)验证条件:检验每个可能解是不是问题的真正解 (条件语句)1、探讨枚举算法的程序实现:2、程序实现的过程中总结出的经验:善于发现问题、深入分析问题、积极解决问题 从不同角度分析问题可以得到不同效率的算法课后作业: 如果一个正整数等于组成该数的各个数字的立方和,则称该数为水仙花数。
例如:407=43+03+73,407是一个水仙花数。试编写程序求出100~999之间的所有水仙花数的程序。