2-2用枚举算法寻找问题多解-信息技术七年级上课件.pptx

2-2用枚举算法寻找问题多解-信息技术七年级上课件.pptx

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用枚举算法寻找问题多解 Python 目录 1 枚举算法的定义 2 3 枚举实例1—“拍7”游戏 枚举实例2—找回密码 4 枚举实例3—砝码称量问题 什么是枚举算法? 把问题的所有可能解都一一列举出来,并按照问题要求的条件逐一判断每个答案是否是正确的解,就叫做枚举算法(也称穷举法)。 例如:破解一个3位数的密码,将100~999逐个与正确的密码进行对比,就可得到正确的密码。 用枚举算法求解问题,就是从所有候选答案中有哪些信誉好的足球投注网站正确的结果,方法简单但非常实用。 (1)确定枚举对象。 (2)确定枚举范围,做到不遗漏也不重复,列举所有可能的解。 (3)根据判定条件,逐一验证每个解是不是问题真正的解。 枚举算法步骤 1.做游戏 找规律 “拍7”游戏规则:把从1开始的自然数中含7的数称作“明7”;把不含7且是7的倍数的数称作“暗7”。 从1开始轮流报数,轮到报“明7”或“暗7”的人,不能出声,只拍一下手。 假设有33个人一起玩游戏,请记录3轮报数后拍手的数据。 7 14 17 21 27 28 我们发现,当数据越来越大时,就越难发现“明7”和“暗7”,这时,我们不妨用枚举算法来解决这个问题。 开始 结束 “7”in str(i) or i%7==0 输出i N 变量i 1—99的自然数 含7的数称作“明7” 不含7且是7的倍数的数称作“暗7” (1)确定枚举对象 (2)确定枚举范围 (3)确定判定条件 枚举算法步骤 “7”in str(i) i%7==0 用Python语言实现算法 总结 枚举算法的本质是一种列举式有哪些信誉好的足球投注网站算法,枚举算法常常借助循环嵌套分支结构和计算机的超强运算能力,从所有求解中去有哪些信誉好的足球投注网站符合条件的答案。 2.用枚举算法找回密码 某人忘记了自己的旅行箱密码,他只记得密码是一个三位数,密码的个位数是8,其他位含有1但是不能确定在哪一位置。 请补全下面程序代码中缺失的枚举范围和判定条件: for x in range(100,______): #三位密码的范围 if__________and____________: print(x) X%10==8 ‘1’ in str(x//10) 999 3.砝码称量问题 现有足量的1克、2克、5克、10克砝码,共允许取用40枚砝码,现在有100克食盐,要求每种砝码至少使用1枚,共有多少种称量方案? (1)确定枚举对象 (2)确定枚举范围 (3)确定判定条件 4种砝码的枚数 a 表示10克砝码的枚数 大概范围是1~10 b 表示5克砝码的枚数 大概范围是1~20 c 表示2克砝码的枚数 大概范围是1~40 d 表示1克砝码的枚数 大概范围是1~40 a+b+c+d==40 10*a+5*b+2*c+1*d==100 and 砝码称量问题.py 科学探究:百钱买百鸡 我国古代数学家张丘建在《算经》中有一道题,问题描述是:公鸡每只5钱,母鸡每只3钱,小鸡3只1钱。用100钱买100只鸡,问公鸡、母鸡、小鸡各多少只? 请补全下面程序代码中缺失的枚举范围和判定条件: for x in range(1,___): #公鸡的数量范围 for y in range(1,____): #母鸡的数量范围 for z in range(3,____): #小鸡的数量范围 if___________________________: #判定条件 print(x,y,z) 公鸡的数量:x 母鸡的数量:y 小鸡的数量:z 5*x+3*y+z/3==100 and x+y+z==100 21 34 101 技术探索:水仙花数 水仙花数是各位数字的立方之和等于该数本身,如153=13+53+33 请补全下面程序代码中缺失的枚举范围和判定条件: for i in range(_______,________): #水仙花数的数量范围 a=i//100 #a记录百位的数字 b=i//10%10 #b记录十位的数字 c=________ #c记录个位的数字 if ______

文档评论(0)

FK教育资源 + 关注
实名认证
内容提供者

努力创作更多无愧于时代的优秀作品~

1亿VIP精品文档

相关文档