3.3.2 枚举算法 课件 2022—2023学年浙教版(2019)高中信息技术必修1

2023-07-16
| 18页
| 1005人阅读
| 356人下载
普通

内容正文:

3.3.2 枚举算法及其程序实现 小试牛刀 有一个趣味游戏,游戏规则如下:参与人员从第一个人开始从50开始快速地报数,若遇到7的倍数或者包含7的数字,则说“跳过”,若没有跳过,则该人淘汰。一直报数,直到只剩下一人,即为胜利者。你准备好了吗? 明枪易躲,暗箭难防啊!!! 2 枚举算法 基本思想:按照问题本身的性质,把问题所有可能的解一一列举,然后逐个判断每一个列举出来的可能解是否是问题真正的解,若是,采纳;否则,抛弃。 一一列举 逐个验证 循环结构 分支结构 解题思路: 逐一列举可能解的范围,这个过程用循环结构实现。 对每一个可能解进行验证,这个过程用分支结构实现。 3 刚才我们是如何找出所有需要跳过的数的? 思 考 取第一个数50 判断是否需要跳过 取第二个数51 判断是否需要跳过 取第三个数52 判断是否需要跳过 …… …… 取最后一个数n 判断是否需要跳过 一一列举 逐个判断 枚举算法 4 枚举算法 解题步骤: 1.确定可能解的范围(不可重复,也不可遗漏;尽可能缩小范围) 2.确定判断条件(Python表达式) 基本框架:(循环结构嵌套分支结构) for (列举所有可能解): if (判断条件): 输出该解或计数 5 1.输出50-100之间是7的倍数或者包含数字7的数,并输出一共有几个数 基础练习 抽象与建模: (1)确定可能解(假设可能解为i)的范围:50-100 (2)确定判断条件:i是7的倍数或者i包含数字7 如何用Python表达式进行判断? i%7==0 or i%10==7 or i//10==7 6 设 计 算 法 7 count=0 for i in : if : print(i,end=' ') #填空3 print("一共找到"+str(count)+"个符合条件的数") i%7==0 or i%10==7 or i//10==7 range(50,101) count +=1 编写程序: 8 基础练习 2.有一个三位正整数,它有如下特点: (1)偶数;(2)完全平方数;(3)比3的整数倍大1。 编程求解所有符合条件的数并输出结果。 抽象与建模: (1)确定可能解的范围 i: (2)确定判断条件: 100-999 i既是偶数又是完全平方数且比3的整数倍大1 9 设 计 算 法 如何修改流程图? (1)确定可能解的范围:100-999 (2)确定判断条件:既是偶数又是完全平方数且比3的整数倍大1 10 尽可能缩小枚举范围 def my(x): if : f=True else: f=False return f for i in range(100,1000,2): if : print(i) my(i) and i%3==1 x**0.5==int(x**0.5) 编写程序: 11 3.一个三位正整数,如果各个位上数字的三次方之和等于这个数本身,我们就称这个数为水仙花数。请编程找出所有的水仙花数。 (1)确定可能解的范围:三位正整数i:100-999 (2)确定判断条件:各个位上数字的三次方之和等于这个数本身 判断正解之前需要取出各个位上的数字 提取百位数字a: 提取十位数字b: 提取个位数字c: i%10 或i%100%10 i//100 提高练习 抽象与建模: i%100//10 或i//10%10 12 设 计 算 法 13 count=0 for i in : a=i//100 #求三位数百位数字 b=i//10%10 #求三位数十位数字 c=i%10 #求三位数个位数字 if : print(i) count+=1 print("一个找到"+ +"个水仙花数") range(100,999) a**3+b**3+c**3==i str(count) 编写程序: 14 5.一张纸上有个五位数密码,其中的千位数字和十位数字已经模糊不清,如图所示,已知这个数字是27或者37的倍数。请编程找到所有符合条件的密码。 进阶练习 解题步骤: (1)确定可能解的范围:无法整体枚举 逐个枚举:千位:0-9,十位:0-9

资源预览图

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