3.3 简单算法及其程序实现(枚举算法)课件-2021-2022学年高中信息技术浙教版(2019)必修1

2021-09-10
| 25页
| 2334人阅读
| 28人下载
特供

内容正文:

枚举算法 我手里有三把一模一样的钥匙,分别可以开教室、办公室、寝室的门。当我晚上回到寝室,该如何找到能开寝室门的钥匙呢? 每把都试一遍 试一试:用枚举法找出30以内能被7整除的数字 一一列举 逐一检验 枚举 筛选 一一列举1到30的每个数字,逐一检验除以7有没有余数 用枚举法找出300以内能被7整除的数字 一一列举1到300的每个数字,逐一检验除以7有没有余数 每秒运算33.86千万亿次 麻烦吗? 一一列举 逐一检验 分支 循环 枚举算法 枚举 筛选 枚举算法要注意的问题 不能遗漏任何一个正确解 尽可能地缩小解的列举范围,提高算法的效率 例举出300以内被7整除的所有的数,如何编程实现? 分析: 列举的范围是什么? 检验的条件是什么? 列举方式是什么? n=0,1,2,···,300 被7整除的数:n%7==0 for循环 枚举算法 例举出300以内被7整除的所有的数,如何编程实现? 枚举算法 for i in range(301): if i%7==0: print(i) 编程推算单据中被涂抹数字。 有一张单据上有一个5位数的编号n,如图所示,其千位数和十位数处已经变得模糊不清,但是知道这个5位数是23的倍数。 现要设计一个算法,找出所有满足这些条件的5位数,并统计这些5位数的个数。 练习 列举的范围是什么? 检验的条件是什么? 列举方式是什么? 千位的数:i=0,1,···,9 十位的数:j=0,1,···,9 被23整除: (20506+i*1000+j*10)%23==0 双重for循环,找出这些数并统计其个数count_1 编程推算单据中被涂抹数字。 练习 分析 count =0 # 循环i #循环j t=20506+i*1000+j*10 if t % 23 == 0: count+=1; pr

资源预览图

3.3 简单算法及其程序实现(枚举算法)课件-2021-2022学年高中信息技术浙教版(2019)必修1
1
3.3 简单算法及其程序实现(枚举算法)课件-2021-2022学年高中信息技术浙教版(2019)必修1
2
3.3 简单算法及其程序实现(枚举算法)课件-2021-2022学年高中信息技术浙教版(2019)必修1
3
3.3 简单算法及其程序实现(枚举算法)课件-2021-2022学年高中信息技术浙教版(2019)必修1
4
3.3 简单算法及其程序实现(枚举算法)课件-2021-2022学年高中信息技术浙教版(2019)必修1
5
3.3 简单算法及其程序实现(枚举算法)课件-2021-2022学年高中信息技术浙教版(2019)必修1
6
所属专辑
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。