枚举算法及程序实现.pptVIP

  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文档。上传文档
查看更多
枚举算法及程序实现

枚举算法及程序实现 象山二中 章正喜 什么是枚举算法 暴力破解事例:假如我有一个QQ的密码是一位数字,同学们想想好不好破解,如何破解? 将所有可能的解列出来考证每个可能解是否为真正的解, 最终过滤掉不符合要求的,保留符合要求的结果,这种方法叫做枚举算法(enumerative algorithm).注意:在列举的过程中不要遗漏任何可能,但是也不要重复列举。 枚举算法举例 问题:一张单据上有一个5位数的编号,其百位数和十位数已经变得模糊不清,如下图所示,但是知道这个5位数是37或67的倍数,现在请你找出所有可能的五位数? 枚举算法举例 算法: 程 序 实 现 分析探讨 求前1000个奇自然数中,计算恰好有三位为1的二进制数的个数(例19对应二进制数10011,是符合条件的,而23对应的二进制数10111,则不符合条件) 代码1: 置计数器C的值为 0 for I=1 to 1000 把I化成二进制数K 计算K中值为!的个数W if w=3 then c=c+1 代码2: 置计数器C的值为 0 for I=1 to 2000 把I化成二进制数K 计算K中值为!的个数W if w=3 then c=c+1 代码3: 置计数器C的值为 0 for I=1 to 1000 计算第I个奇数j: j=2*I-1 把j化成二进制数K 计算K中值为!的个数W if w=3 then c=c+1 Next i * * 25ab6 ab是十位和百位上的数字,可能的取值00-99,故从00开始列举到99 当n=25*1000+ab*10+6能被37或者67整除时,就是一个真正解 j:循环控制变量,记录已经进行循环的次数,并决定循环是否进行, 并依次枚举产生十位和百位上的可能数字 c:计数器,用来存放已经找到的解的个数 n:存储可能的解 Dim c, n, j As Integer ‘定义三个变量 c = 0 ‘计数器c置初值0 For j = 1 To 99 ‘for ……next 控制循环 n = 25 * 1000 + j * 10 + 6 ‘n 的值 If n Mod 37 = 0 Or n Mod 57 = 0 Then ‘判断 Print n; ‘输出 c = c + 1 End If Next j *

文档评论(0)

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

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

1亿VIP精品文档

相关文档