[其它技巧]1算法案的基本思想。。。演示文稿.pptVIP

[其它技巧]1算法案的基本思想。。。演示文稿.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[其它技巧]1算法案的基本思想。。。演示文稿

* * 2.1.1算法案例分析(1) 算法的基本思想 例1 在电视台的某个娱乐节目中,要求参与者快速猜出物品价格.主持人出某件物品,参与者每次估算出一个价格,主持人只能回答高了、低了或者正确.在某次节目中,主持人出示了一台价值在1000元以内的随身听,并开始了竞猜.下面是主持人和参与者之间的一段对话: 参与者:800元! 主持人:高了! 参与者:400元! 主持人:低了! 参与者:600元! 主持人:低了! …… 如果你是参与者,你接下来会怎么猜? 分析理解 如果用P表示商品的价格,则参与者的猜测结果为: 由主持人的第一次回答,P在0~800元之间; 由主持人的第二次回答,P在400~800元之间; 由主持人的第三次回答,P在600~800之间. 根据参与者的猜测,我们知道,参与者首先需要确定的是商品价格的范围,数学上一般可以用区间来表示,然后再根据主持人的回答,报出区间中点,将价格区间缩小一半. 因此,下一步参与者要猜的数应是700元,然后根据主持人的回答继续猜,直至猜出正确价格. 分析理解 抽象概括 实际上,可以把上述过程概括如下: 1.报出首次价格T1; 2.根据主持人的回答确定价格区间: (1)若报价小于商品价格,则商品的价格区间为(T1,1000); (2)若报价大于商品价格,则商品的价格区间为(0,T1); (3)若报价等于商品价格,则游戏结束. 3.如果游没有结束,则报出上面确定的价格区间的中点T2.按照上述方法,继续判断,直到游戏结束. 像这样的一系列步骤通常称为这个问题的一个算法. 分析理解 1.查表判断936是否是素数: (1)如果936是素数,则分解结束; (2)如果不是素数,则进行第2步. 2.确定936的最小素因数:2. 936=2×468 3.查表判断468是否则是素数: (1)如果468是素数,则分解结束; (2)如果468不是素数,则重复上述步骤,确定468的 最小素因数. 重复进行上述步骤,直到找出936的所有素因数. 例2 在给定素数表的条件下,设计算法,将936分解成素因数的乘积(4000以内的素数见附录1) 解 算法步骤如下: 1.判断936是否为素数:否. 2.确定936的最小素因数:2. 936=2×468. 3.判断468是否为素数:否. 4.确定468最小素因数: 2. 936=2×2×234. 5.判断234是否为素数:否. 6.确定234最小素因数:2. 936=2×2×2×117 7.判断117是否为素数:否. 分析理解 8.确定117最小素因数: 3. 936=2×2×2×3×39. 9.判断39是否为素数:否. 10.确定39的最小素因数:3. 936=2×2×2×3×3×13 11.判断13是否为素数:13是素数.所以分解结束. 分解结果是:936=2×2×2×3×3×13 分析理解 分析理解 按照以上程序,完成了对936的素因数分解.实际上,在给定素数表的基础上,对任意自然数n,都可以按照上述办法进行分解. 以上步骤是解决素因数分解问题的一个过程,只要依照这一系列步骤,都能解决这个问题.我们把这一系列步骤成为解决这个问题的一个算法. 我们已经学习了对自然数进行素因数分解的方法,下面的算法就是在此基础上设计的.解答这个问题需要按以下思路进行.首先,对两个数分别进行素因数分解: 840=23×3×5×7, 1764=22×32×72 其次,确定两数的公共素因数:2,3,7.接着,确定公共素因数的指数:对于公共素因数2,22是1764的因数,23是840的因数,因此22是这两个数的公因数,这样就确定了公共素因数2的指数为2. 同样,可以确定出公因数3和7的指数均为1. 这样,就确定了840与1746的最大公因数为: 22×31×71=84. 例3 设计一个算法,求840与1764的最大公因数. 例题讲解 解 算法步骤如下: 1.先将840进行素因数分解:840=23×3×5×7; 2.然后将1764进行素因数分解:1746=22×32×72; 3.确定它们的公共素因数:2,3,7; 4.确定公共素因数的指数:公共素因数2,3,7的指数分别为2,1,1; 5.最大公因数为:22×31×71=84. 例题讲解 分析理解 以上步骤就是求两个正整数的最大公因数的一个算法.这个算法的思想具有一般性,它可以帮助设计求三个或者三个以上正整数的最大公因数的算法.在这个算法的设计中,我们首先分别对840和1764进行素

文档评论(0)

ipbohn97 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档