穷举法程序设计.ppt

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第四章第2节

用穷举法设计程序

复习解析法初识穷举法穷举法是程序设计中使用得最为普遍、大家必须熟练掌握和正确运用的一种算法。它利用计算机运算速度快、精确度高的特点,对要解决问题的所有可能情况,一个不漏地进行检查,从中找出符合要求的答案。穷举法的思路例题一分析问题解决这个问题应当从a×b×C=30723人手。把30723分解成三个正整数相乘的积,只能有有限种情况,我们可以把这些情况一一罗列出来,然后分析?哪一种情况是符合条件(100abc10,且ab+c)的,从而找到答案(在列举所有情况时,注意三个因子都大于10,这可以减少列举的工作量)。?把30723分解为3个大于10的因子的乘积只有5种情况:11×19×147,11×21×133,19×33×49,11×49×57,19×21×77。?在这5种情况中符合最大数a大于b+c而且小于100的,只有最后一种情况,即a=77,b=2l,c=19。二设计算法设计穷举法的关键是如何列举所有可能的情况,绝对不能遗漏,最好不要重复。在列举时注意变量的范围,可以减少工作量。我们可以从最小的变量c人手,让它从10开始变化。但变化的范围到哪里为止呢?粗略估算一下,三个数相乘的积是30723,最小的c不会超过积的立方根。但VB语言没有立方根的内部函数,我们可以用平方根作近似的替代,不必作太多的推算。当c值产生之后,就可以处理变量b。因为它不小于c,让它从c开始,也让它变化到30723的平方根。有了c和b的值之后,就要判断它们的乘积是否30723的因子。如果是,计算出第三个因子a,然后进行判断:a是否大于b+c并且小于100。满足条件的就是解答了。算法描述如下:①令变量c取值10;②令变量b取值c;③如果b×c能整除30723,那么下一步,否则转⑥;④a=30723÷(b×c);⑤如果ab+c并且a100,那么输出解答a、b、c的值;⑥如果b,那么b值增加1后返回③;⑦如果c,那么c值增加1后返回②;⑧结束。三编写程序根据算法写出程序如下:PrivateSubForm_Click()Dima,b,cAsIntegern=30723Forc=10ToSqr(n)Forb=cToSqr(n)IfnMod(c*b)=0Then’取余数a=n\c\b’整除Ifa100Andab+cThenPrinta=;a,b=;b,c=;cEndIfNextbNextcEndSub四调试程序本程序没有特别安排其他控件,程序运行后单击窗体可得结果。(在VB环境下演示)穷举法的基本思路穷举法的思路是列举一切与命题相关的情况,然后根据问题设定的条件,逐个加以检查,找到满足条件的解答。但是在穷举时,“与命题相关的情况”所包含的范围可能很广,如果不加以限制可能会白白耗费计算机的运行时间。如上例程序中若把“Sqr(n)”都改为“n/2”,你得等待很长的时间。所以,在设计穷举的过程时,应当建立适当的数学模型,构造穷举的框架,然后通过逐步求精的过程,改善算法,使穷举过程变得恰当。课外练习公元前5世纪,我国数学家张丘建在《算经》一书中古代数学名著《张邱建算经》里有一个百鸡百钱问题。公鸡5文一只,母鸡3文一只,小鸡1文3只,请问100文买100只鸡,有几种搭配方法?提示:设公鸡数为x,母鸡数为y,小鸡数为z,则有方程:X+y+z=1005*x+3*y+z/3=100三个未知数,两个方程,如何求解?用穷举法本节课到此结束谢谢同学们的认真听讲!!解析法MN是垂直于地面的角α、角β和边a是可测量的。△AMN和△BNM都是直角三角形用解析法设计程序通过分析问题中各要素之间的关系,用最简练的语言或形式化的符号来表达它们的关系,得出解决问题所需的表达式,然后设计程序求解问题的方法称为解析法。**?携带密码行李箱外出旅游,旅行途中发现自己忘记了开锁的密码,怎么办??用Word文档加密摸拟这个例子?最简单也最实用的方法就是一一去试!!穷举法的思路是:

您可能关注的文档

文档评论(0)

iris + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档