枚举算法、解析算法.pptxVIP

  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文档。上传文档
查看更多
枚举算法、解析算法

枚举算法 电影《向左走向右走 》片段 雨停了,结果…… 雨停了,但是天意弄人,两人在雨中匆忙交换的电话号码在湿透的纸上模糊一片。 如果你是电影中的主人公,这时你该如何找到对方的电话号码呢? 可以像找回密码箱的密码一样,一个个按顺序去拨打,如果是对方接的, 就说明找对了。 枚举算法 枚举算法的基本思想是: 按问题本身的性质,一一列举出该问题所有可能的解,并在逐一列举的过程中,检验每个可能的解是否真正的解,若是,就采纳,否则就放弃。 如果要找到正确的电话号码就要把所有可能的解都列出来, 再一一进行检验,找到符合条件的解。这种方法,可以称为“枚举算法”。 枚举算法关键是:一一列举,逐一检验 如果要找到男主角的电话要怎么做呢? 男主角的电话号码:22764××5 首先,按照枚举算法的关键步骤一起来分析。 步骤一是“一一列举” 22764××5 00 01 02 99 . . . 将百位和十位的数用一个变量J来表示变量J依次取0~99这100个不同的值。接着给J的每个确定的值乘以1 0加这样,就能形成一个可能解。 J 0 1 2 3 . . . 98 99 *10 00 . . . . . . 990 J 0 1 2 3 . . . 98 99 *10 00 . . . . . . 990 步骤二是“逐一检验” 已知这个8位数是l3 的倍数。 所有可能的借用变量n表示 用l3整除,余数为零,即 n Mod l3 = 0 流程图 j ← 0,c ← 0 Y n ←j*10 N 结束 Y c ← c+1 输出真正的n N j ← j+1 j < 100 n是13的倍数? 代码 程序 男主角的电话是找到了,女主角的电话号码还没有解决呢。我们一起再来看看怎样找女主角的号码吧! 女主角的电话号码:2276×2×5 首先,按照枚举算法的关键步骤一起来分析。 也是一个可以被13整除的8位数,其千位数和十位数处不知道所以要分别假设千位为变量i,十位为变量j。 步骤一是“一一列举” i 从 0 到 9,j 从 0 到 9,所以要双重循环。 步骤二是“逐一检验” n Mod 13 = 0 流程图 i ← 0,j ← 0,c ← 0 Y n ←i*1000+j*10 N 结束 Y c ← c+1 输出真正的n N i←i+1,j ← j+1 i <10 And j < 10 n是13的倍数? 代码 程序 比较两次程序的代码 枚举算法的一般形式: For 循环变量 = 初值 To 终值 If 条件表达式 Then 语句块 End If Next 循环变量 解析算法 小红,要迟到了,我们打车去学校吧。 好的,我看看…… 好贵啊,这是怎么计价的啊? 好像是这样的,感觉有点……要不我们按照这个规则自己算一下吧。 好啊! 里程:21.5公里 时长:33分钟 里程费:1.9元/公里 时长费:0.3元/分钟 最低消费:7元 远途(超过8公里)费:0.6元/公里 (不考虑夜间费) 解析算法 解析算法的基本思想是: 用解析的方法找出表示问题的前提条件与结果之间关系的数学表达式,并通过表达式的计算来实现问题求解。 根据给出的条件通过数学表达式,算出最后的结果。这种方法,可以称为“解析算法”。 解析算法关键是:找出数学表达式 已知,里程:21.5公里,时长:33分钟(不考虑夜间) 总费用=里程费+时长费+远途费 用流程图怎么表示呢? a为里程,b为时长,c为总费用 N c=a*1.9+b*0.3 a>8? c>7? Y Y 输出c N c=7 输出c c=a*1.9+b*0.3+(a-8)*0.6 c>7? Y 输出c N c=7 输出c 设计界面 代码 程序 解析算法的一般形式: If 条件表达式 Then 语句块 ElseIf 条件表达式 Then

文档评论(0)

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

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

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档