《用穷举法解决问题》教学课件1_第1页
《用穷举法解决问题》教学课件1_第2页
《用穷举法解决问题》教学课件1_第3页
《用穷举法解决问题》教学课件1_第4页
《用穷举法解决问题》教学课件1_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

用穷举法解决问题

学习目标理解穷举法的思想方法学会分析建立正确的穷举步骤,归纳穷举法的穷举技巧学会优化穷举算法学会使用穷举法解决现实生活、学习中遇到的问题用穷举法解决问题

计算机的特点之一就是运算速度快、善于重复做一件事情,“穷举法”正是基于这一特点的最古老的算法。它一般是一时找不到解决问题的更好的途径,即从数学上找不到求解的公式或者规则时,根据问题中的“约束条件”,将解的所有可能情况一一列举出来,然后再逐一验证是否符合整个问题的求解要求,从而得到问题的所有解。穷举法的一般模式列出问题的可能范围,一般用循环或者循环嵌套结构来实现探究、挖掘出问题解的约束条件根据约束条件优化算法,尽可能地缩小穷举范围,减少穷举次数,降低算法的时间和空间复杂度。穷举法的应用举例1、“水仙花数问题”。水仙花数是指一个三位数,它的各位数的立方和正好是等于该数本身。153=1^3+5^3+3^3。请设计算法求解该问题。思路1:三位数范围100-999约束条件:该三位数的各位数的立方和正好是等于该数本身程序结构选择:一重循环思路2:该数的百位范围1-9,十位范围0-9,个位范围0-9约束条件:该数的个、十、百位数的立方和正好是等于该数本身程序结构选择:三重循环如果你理解了这2个思路,可以在VB中编写出来么?GO!穷举法的应用举例2、公鸡一只值5元,鸡母一只值3元,小鸡三只值1元。现在有100只鸡,正好值100元钱,问公鸡、母鸡和小鸡各有几只?设变量设置为:X表示公鸡只数,Y表示母鸡只数,Z表示小鸡只数。穷举时如何利用好百鸡和百钱两个已知条件,选择合适的穷举方法,使程序最优化?变量设置:试找出下列变量的最小穷举范围X穷举范围:___________________Y穷举范围:_________________Z穷举范围:___________________优化一下可以考虑Z的设置方式:___________________减少穷举的范围和不必要的穷举是优化穷举算法的关键。穷举法的应用举例3、完全数古希腊人称因子的和等于本身的数是完全数,例如28的因子是1、2、4、7、14,而1+2+4+7+14=28,所以28是一个完全数。编程输出2~1000内所有的完全数。思考:各个完全数之间有明显的数学规律么?判断一个数有直接的判断公式和定理么?穷举法的作业1、编程找出三位数到五位数中的所有阿姆斯特朗数。它的定义是:一个N位自然数的各位数字的N次方之和等于它本身。例如153是三位阿姆斯特朗数(也叫水仙花数),8208则是一个四位数的阿姆斯特朗数。穷举法的拓展作业2、输入一根木棒的长度,将该木棒分成三段,每一段的长度为正整数;输出由这三段小木棒组成的不一样边长的三角形的个数。如输入10,则输出2,能组成的两个三角形边长为2、4、4和3、3、4。穷举法的拓展作业

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论