版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、枚举算法2,第三讲 (遍历算法) (回溯算法之一),如果可能解,不完美(不连续或离散)怎么办?,把各种可能的情况都考虑到,并对全部可能结果逐一进行判断,过滤掉那些不符合要求的,保留符合要求的结果,这种方法叫枚举算法,一般思路: 步骤一:确定可能解的范围; 步骤二:根据各种约束条件,对每一个可能解进行判断,安财CA(255860045),中国古代孙子算经共三卷,成书大约在公元5世纪。 “鸡兔同笼”问题: 今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?,分析: 则:x+y=35 2*x+4*y=94 可能的解: X: 0-35 Y: 0-23,约束条件,设x,y分别为鸡、兔的个数,可能的
2、解,建立一个循环, 可能的解如下:,S1x从0到35,每次递增1。对每个x执行如下操作 S1.1头y=35-x S1.2腿如果2x+4y=94,则x,y为正确解。,又后一例:,我国古代数学家张丘建在算经中提出了著名的百鸡百钱问题 “鸡翁一值钱5, 鸡母一值钱3, 鸡雏三值钱1” 现有100钱,欲买100只鸡,问:鸡翁、鸡母、鸡雏各买几只?,分析: 设x,y,z分别为买的鸡翁、鸡母、鸡雏的个数 则:x+y+z=100 5*x+3*y+z/3=100 可能的解 X: 0-20 Y: 0-33 Z: 100-x-y,和:效率和逻辑的折中,建立一个双重循环, 可能的解如下:,检验可能的解是否真正的解,
3、判断:5*x+3*y+z/3=100 若是,x,y,z就是一个真正的解,算法: s1.x0 s2. s7.xx+1 s8.如果x=20 ,则转2,y0 s3. s5.yy+1 s6.如果y=33,转3;否则7,z100-x-y s4.如果5x+3y+z/3=100,则输出x,y,z; 否则转5,百鸡,百钱,如何提高效率?,S1x从0到20,每次递增1,对每个x执行如下子操作。 S1.1y从0到33,每次子递增1,对每个y执行如下操作。 S1.1.1z=100-x-y S1.1.2如果5x+3y+z/3=100,则输出x,y,z,作业1:百马百瓦,有一百匹马,分三种:大马,中马,小马。有一百块同
4、样的瓦。 一匹大马驼3块瓦,一匹中马驼1块瓦,三匹小马合驼1块瓦。这一百匹马,正好驼一百块瓦。问:大马,中马,小马各多少匹?请列出所有可能的方案。,素数判断,任意给一个正整数n, 判断其是否为素数 素数(质数):只能被1或本身整除。如2,3,5,7,解题空间: 2n-1 优化为:2 排除条件: 是否整除,素数判断,任意给一个正整数n, 判断其是否为素数 素数(质数):只能被1或本身整除。如2,3,4,解题空间: 2n-1 优化为:2 排除条件: 是否整除,S1 isPrime=true S2i从2到根下n,对每个i执行如下操作 S2.1如果n能整除i,则转s2.2 S2.2isPrime=fa
5、lse S2.3转s3 S3如果isPrime=true,是素数;否则不是素数,求所有4位素数,求所有的4位素数,解题空间: 10009999 优化为:? 排除条件: 是否是素数,判断n是否是素数 S1 isPrime=true S2i从2到根下n,对每个i执行如下操作 S2.1如果n能整除i,则转s2.2 S2.2isPrime=false S2.3转s3 S3如果isPrime=true,是素数;否则不是素数,S1n从1000到9999,对每个n执行如下操作 S1.1如果n是素数,则显示,作业2:求5位正整数的所有回文数,回文数:就是顺读和逆读都是一样的数字 如:12321 可设a,b,c
6、,d,e分别表示万位、千位、百味、十位、个位,垂帘画阁画帘垂, 谁系怀思怀系谁? 影弄花枝花弄影, 丝牵柳线柳牵丝。 脸波横泪横波脸, 眉黛浓愁浓黛眉。 永夜寒灯寒夜永, 期归梦还梦归期。,春闺,经典题目:虫食算,所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母。来看一个简单的例子: 580*5 + 8#633 _ 144678,解题范围: m: n: 约束条件: .,经典题目:虫食算,所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母。来看一个简单的例子: 580*5 + 8#633 _ 144678,解题范围
7、: m:5800558095 n:8063389633 约束条件: .,S1m从58005到58095,每次递增10.对每个m执行如下操作 S1.1n从80633到89633,每次递增1000,对每个n执行如下操作 S1.1.1如果m+n=144678,则显示m,n,虫食算-求下图的所有可能答案作业3,3阶幻方,如图一个九宫格内分别写了1-9的数字,而且每行、每列和对角线上的数字和是相同的。 你能找到所有的答案吗?,二四为肩六八为足载九履一左三右七 五居中央,3阶幻方-一例,令a,b,c,d,e,f,g,h,i分别表示各位: S1n从123456789到987654321,每次递增1,对于每个n完成如下操作 S1.1把n的各位分别截取存入a,b,c,d,e,f,g,h,i. S1.2如果上述各位有零或相同,看下一个n S1.3 行如果a+b+c15或 。,看下个n S1.4 列如果a+d+g15或 。,看下
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2026年)肝移植麻醉标准操作流程课件
- 人体胚胎发育:垂体后叶课件
- 2025年初级统计师考试科目内容详解试卷及答案
- 云原生容器网络自动化技术认证试题及答案
- 2026年注册公用设备工程师考试报名注意事项试题及真题
- 2025年人教版高中数学三角函数解题技巧考核试卷
- 护士资格除颤技术规范测试试题及答案
- 2026年函授备考指南:土木工程测量技能测验试卷
- 2026届湖北省武汉市第39中学高三下学期期中考联考英语试题试卷含解析
- 吉林省白城市大安市第二中学2026届新高考物理试题适应性训练(二)含解析
- 高标准农田建设安全文明施工方案
- 西门子PLC培训教学课件
- 店铺安全生产制度
- 2025年及未来5年中国水晶市场竞争格局及行业投资前景预测报告
- 2025广东云浮新兴县特聘动物防疫专员招募2人考试参考题库及答案解析
- 成人重症患者人工气道湿化护理专家共识解读
- 品牌营销与市场推广服务协议
- 再审被申请人意见书
- 基于STS8200测试平台单路LDO芯片测试方案设计
- T/CSPSTC 121-2023海底管道水平定向钻设计规范
- 创新医疗供应链管理模式提升医疗服务水平
评论
0/150
提交评论