版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
枚举算法1.例1:一天小明回家看见妈妈好像有什么心事,于是小明关心地询问妈妈,怎么回事?妈妈告诉小明,她不小心将单位的记录账目的单据碰到了污迹,现在很难认出,这个数字是:113702?,怎么办?小明想了一想后,问妈妈这数有什么特点?妈妈说:“这数是144的整数倍”,马上,小明就帮助妈妈解决了这个问题。
第一步:列出所有可能的解
11370201137021113702211370231137029第二步:根据条件,检验出真正的解
一一列举这些解的同时,检验每一个可能解是否满足条件:是144的整数倍,如果是,则是我们要找的真正解,否则就不是。枚举法:象这种列举出问题的所有可能解,并在逐一列举的过程中,检验每个可能解是否是问题的真正解,若是,我们采纳这个解,否则抛弃它,这种解决问题的方法叫做枚举法。
注意:在列举的过程中不能遗漏,也不应重复。枚举算法找到的真正解不一定是唯一的。2.第一步:列出所有可能的解X=输出X开始i=0i<=9Ti=i+1结束F1137020+i返回第一步:列出所有可能的解
113702011370211137022113702311370293.第二步:根据条件,检验出真正的解
开始i=0i<=9X=1137020+ii=i+1结束TFTFXmod144=0或者int(x/144)=x/144输出X开始i=0i<=9X=1137020+iXmod144=0输出XTi=i+1F结束TF4.请同学们把程序填写完整5.问题的诊断PrivateSubCommand1_Click()Dimi,xAsLongList1.Cleari=0DoWhilei<=9x=1137020+iIfxMod144=0ThenList1.AddItem(Str(x))‘输出X的意思elsenothingLoopEndSub开始i=0i<=9X=1137020+iXmod144=0输出XTi=i+1F结束TFEndifi=i+16.编程中存在的问题——分支语句实现分支结构的语句if应该与endif成对出现,单分支语句中不存在else语句。二是在书写的时候,要注意执行语句的缩进,这样使程序看起来十分清晰,以方便我们的调试。
If条件then
语句组1
else
语句组2
endif7.编程中存在的问题——循环语句当循环语句中遗漏了loop(表示循环)的语句,以及在计数法控制循环中缺少了循环变量增量的语句,而造成了死循环。Dowhile条件循环体
循环变量=循环变量+步长loop8.例2:如果模糊数字是249??16,它是144的整数倍。第一步:列出所有可能的解249001624901162490216、、、24910162491116、、、24920162492116、、、2499916开始第二步:根据条件,检验出真正的解i=_____i<=X=i=i+1结束TF992490016+i*100Xmod144=0输出XTF09.提高题(模糊数据二):模糊数字是465?7?6,它是144的整数倍。第一步:列出所有可能的解千位数为0,十位数从0——9一一枚举:
4650706465071646507264650736、、、4650796千位数为1,十位数从0——9一一枚举:
4651706465171646517264651736、、、4651796千位数为9,十位数从0——9一一枚举:
、、、、、、4659706465971646597264659736、、、4659796开始i=<=9i=i+1结束TF注意:在列举出所有解的过程中,既不能遗漏也不应重复。十位数从0—9一一枚举0i10.提高题(模糊数据二):模糊数字是465?7?6,它是144的整数倍。第一步:列出所有可能的解千位数为0,十位数从0——9过一遍:
4650706465071646507264650736、、、4650796千位数为1,十位数从0——9过一遍:
4651706465171646517264651736、、、4651796千位数为9,十位数从0——9过一遍:
、、、、、、4659706465971646597264659736、、、4659796开始i=0<=9j<=9j=0X=j=j+1i=i+1结束TFTF4650706+1000*i+10*j注意:在列举出所有解的过程中,既不能遗漏也不应重复。 i11.提高题(模糊数据二):模糊数字是465?7?6,它是144的整数倍。第二步:根据条件,找出真正的解开始i=0i<=9j<=9j=0X=j=j+1i=i+1结束TFTF4650706+1000*i+10*jXmod144=0输出XTF千位数为0,十位数从0——9过一遍:
4650706465071646507264650736、、、4650796千位数为1,十位数从0——9过一遍:
4651706465171646517264651736、、、4651796千位数为9,十位数从0——9过一遍:
、、、、、、4659706465971646597264659736、、、465979612.注意在双重循环中,外循环每变化一次,内循环变量要取遍所有可能的值。13.请同学们列举生活中可以使用枚举算法来解决的问题14.课堂小结1、什么是枚举法:
列举出问题的所有可能解,并在逐一列举的过程中,检验每个可能解是否是问题的真正解,若是,我们采纳这个解,否则抛弃它。2、枚举法的特点:在列举的过程中,真正解不一定唯一既不能遗漏也不应重复,3、注意:并不是所有的问题都可以使用枚举算法来寻找答案的,仅当问题的所有可能解的个数不太多时,才有可能使用枚举
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全媒体运营师成果转化竞赛考核试卷含答案
- 管棒型材精整工安全培训强化考核试卷含答案
- 2026年运动损伤预防课件
- 制卤工岗前培训效果考核试卷含答案
- 2026年医疗纠纷预防与处理培训课件(含案例分析)
- 2026年患者隐私保护法律风险防范课件
- 空调器装配工达标能力考核试卷含答案
- 聚苯乙烯装置操作工岗前流程考核试卷含答案
- 电影洗印员岗中岗位晋升考核试卷含答案
- 耐蚀混凝土工安全生产规范水平考核试卷含答案
- 防汛安全专项措施培训课件
- 员工离职离开协议书
- 《税收征收管理法》课件
- 2019配电网工程典型设计电缆分册
- 安宁疗护中的营养支持措施
- 《社会调查》课件
- 股权投资入股协议书范本
- 中小学生预防校园暴力主题班会《做一个品德优良的学生》课件
- DB44-T 2508-2024 自助加油站建设及管理规范
- GB/T 4008-2024锰硅合金
- 高教社杯全国大学生数学建模竞赛A题 葡萄酒的评价
评论
0/150
提交评论