当前位置:首页 >> 其它课程 >>

枚举算法


枚举算法

1、什么是枚举算法?
例1、一张单据上有一个5位数字组成的编号,其千位数和百位数处已经变得模糊 不清,但是根据单号生成规则知道这个5位数是57或67的倍数,如图所示。如何 确定这张单据?

分析: 1、涂抹处一定是数字 2、千位和百位处的数字可能是00,01,02,…,99 3、编号是57或者67的倍数 结论: 1、

编号一定在10047,10147,10247,…,19947之中 2、编号满足条件1xx47 mod 57 = 0 或者 1xx47 mod 67 =0

那如何让编号1xx47可以取遍所有可能的数字呢?
我们可以引入一个变量i 当i=0时,单号n的值可以表示为10047+i*100=10047; 当i=1时,单号n的值可以表示为10047+i*100=10147; 当i=2时,单号n的值可以表示为10047+i*100=10247; … 当i=99时,单号n的值可以表示为10047+i*100=19947 这个过程可以用我们前边学过的For循环语句来实现

For i = 0 to 99 step 1

n = 10047 + i * 100
Next i
接下来只要判断这些数字哪些是56或者67的倍数了,流程图如下

开始

i<=99?

Dim i As Integer
n=10047+i*100

Dim n As Integer For i = 0 To 99 step 1

n mod 57=0 or n mod 67 =0?

n = 10047 + i * 100 If (n Mod 57 = 0) Or (n Mod 67 = 0) Then Print n

Print n

end if

i = i +1

Next i

结束

例2、找出1~100中能够被5或者7整除,但不能被3整除的数,并求出它们的和。 n mod 5=0 or n mod 7=0 and n mod 3<>0 分析:取遍1~100中的每一个数,满足能被5或者7整除但不能被3整除的打印,

不满足条件的跳过;最后将满足条件的数累加即可。

开始
Private sub Form_click() For i =1 to 100 i<=100? If i mod 5=0 or i mod 7=0 <>0 and i mod 3<>0 then List1.additem str(i)

i mod 5=0 or i mod 7 =0 And i mod 3<>0

End if Next i End sub

Private sub command1_click()
S=0 Print i For i = 0 to list1.listcount-1 ‘list的第一项是list1.list(0) s=s+list1.list(i)

i = i +1

next i
Text1.text =str(s) End sub

结束

枚举算法的思路
“一一列举,逐个判断”是枚举算法的核心思想,即根据题目本身的论述,
一一列举出该问题的所有可能的情况,根据题目的条件逐个做出判断,选出符合 条件的即为问题的解。 要求: 1、列举和检验的过程不能遗漏,也不能重复; 2、为了提高算法的效率,尽可能缩小列举的范围; 3、一般使用For循环来列举所有可能的解; 4、通常使用if语句进行判断,从而确定问题的解。

枚举算法一般格式
For 循环变量 = 初值 to 终值 Step 步长 If 检验表达式 then

输出问题的解
end if Next 循环变量


相关文章:
解析算法和枚举算法复习
算法与程序设计复习 ---解析算法和枚举算法(2013 年 5 月) 解析法:用解析的方法,找出表示问题的前提条件与结果之间关系的数学表达式,并通过表达式计算来实现问题的...
解析算法-枚举算法练习题
解析算法-枚举算法练习题_其它课程_高中教育_教育专区。解析算法练习题 1. 编写 VB 程序完成计算 F ? 1 ? 1 1 1 ? ? 的值。 4! 7! 10! 2. 根据...
实用的枚举算法教案
实用的枚举算法教案_其它课程_高中教育_教育专区。《实用的枚举算法》教案 上课时间:2016.4.29 班级:技术 1 班一、教学目标: 1、知识与技能: (1)理解枚举算法...
枚举算法的程序实现
课题: 枚举算法的程序实现》 《枚举算法的程序实现 课题: 枚举算法的程序实现》 《授课教师: 授课教师:黄玉芬 【教材分析】 教材分析】 分析 本课课程标准内容: ...
枚举算法的程序实现冷永辉
枚举算法的程序实现冷永辉_计算机软件及应用_IT/计算机_专业资料。枚举算法的程序实现睢县回族高级中学一、教学目标 1、知识与技能 熟悉用枚举算法设计程序的基本思路...
九上第10课《枚举算法》
九上第10课《枚举算法》_其它课程_初中教育_教育专区。第十课 枚举算法 课题 目标 知识与技能:理解枚举算法的基本思想;能用 VB 代码写出枚举算法,并上机调试。 ...
常用算法枚举法
常用算法枚举法_计算机软件及应用_IT/计算机_专业资料。实验五 常用算法:枚举法 递推法 迭代法 一、实验目的 掌握枚举法,递推法、迭代法这 3 种常用算法。 n...
实用的枚举算法
《实用的枚举算法》教案 一、 案例背景信息: 1、所用教材版本: 中国地图出版社 求》 2、章节:选学模块一 算法和程序设计 第三单元 算法实例 1:枚举算法 3、...
VB枚举算法公开课教案一等奖
VB枚举算法公开课教案一等奖_其它课程_高中教育_教育专区。《VB 综合应用》教学设计 杜宗飞 一、 教学设计思想 本节课先通过“读心术”创设情境,设置悬念,再提出...
枚举算法及应用教学设计(高中信息技术精品)
枚举算法及应用 一、教学内容分析 本课使用的教材是浙江教育出版社出版的《算法与程序设计》 ,内容是第二章第 1 节和 第五章第 1 节相结合。枚举算法对于学生...
更多相关标签:
c语言枚举算法 | 枚举算法 经典实例 | 枚举法 | 贪心算法 | 枚举 | vb枚举算法 | 递归算法 | 解析算法 |