枚举算法(课件)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
变量c(计数器):用来记录某一事件发生次数的变量。cc+1
变量sum(累加器):用来存储数据累加和的变量
★在算法执行的准备阶段,应预置初值为0
一个流程图包括以下几部分: ①表示相应操作的图框; ②带箭头的流程线; ③图框中必要的文字和符号说明。 注:图框表示各种操作的类型; 带箭头的流线表示操作的先后次序. 图框中的文字和符号表示操作的内容;
开始
S0,T1
SS+T
TT+1
N
T>6
Y 输出S
输出结果___
结束
找 钥 匙
自行车胎坏掉的时候,修车师傅检查坏掉的位置, 他选定某一个位置为起始位置,然后按顺序一块块 的检查过来,直到找到坏掉的位置。
找到一个坏掉的位置后,还要继续找吗?为了安全 起见,建议继续找
讨
论:
生活中,碰到什么问题时,我们也 会用以上两种方法来寻求问题的答案。
j:循环控制变量,记录已经进行循环的次数,并决定循环是否进行,
并依次枚举产生十位和百位上的可能数字 c:计数器,用来存放已经找到的解的个数 n:存储可能的解
开始 输入X,Y
N
X>Y
Y
XX-Y
当依次输入30,7, 输出结果___
输出X
结束
复
习
系列操作规则。
算法:在有限步骤内求解某一问题所使用的具有精确定义的一
算法的五大特点:
1.有穷性 2.确定性 3.可行性 4.有0个或多个输入 5.有一个或多个输出
复
习
处理框
流程图中的常用符号
连接框
输入,输出框
流程线
判断框
开始,结束符
变量: 计算过程中要用到数据的存储单位。 S=a
注意:
S=b
结束
Y N n能被37整除?
Y
输出n
nn+1
枚举算法举例
• 问题:一张单据上有一个5位数的编号,其百位数和十位 数已经变得模糊不清,如下图所示,但是知道这个5位数 是37或67的倍数,现在请你找出所有可能的五位数,并统
计这样数的个数?
枚举算法举例
• 算法:
25ab6
ab是十位和百位上的数字,可能的取值00-99,故从00开始列举到99 当n=25*1000+ab*10+6能被37或者67整除时,就是一个真正解
(0张50元)24张10元 (1张50元)19张10元 (2张50元)14张10元 (3张50元) 9张10元 (4张50元) 4张10元
在1到2008这些自然数中,找出所有是37倍数的自然数
开始
初始n1 N n≦200来自百度文库?
思 考:
以上提供的只是一种求被37 整除的数的算法,你有没有更 好的算法?
按问题本身的性质,一一列举该问题所 有可能的解,并在逐一列举的过程中,检验 每个可能解是否是问题的真正解,如是,就 采纳这个解,否则就抛弃它.
枚举法适合于解的候选者是有限、可枚举的场合。
枚举法的算法一般都比较直观,容易理解。
但由于要检查所有的候选解,因此时间性能较差。
算一算:
用10元和50元两种纸币组成240元,共 有几种组合方式?