高级编程实践---枚举与模拟ppt课件

上传人:大米 文档编号:586689993 上传时间:2024-09-05 格式:PPT 页数:14 大小:64KB
返回 下载 相关 举报
高级编程实践---枚举与模拟ppt课件_第1页
第1页 / 共14页
高级编程实践---枚举与模拟ppt课件_第2页
第2页 / 共14页
高级编程实践---枚举与模拟ppt课件_第3页
第3页 / 共14页
高级编程实践---枚举与模拟ppt课件_第4页
第4页 / 共14页
高级编程实践---枚举与模拟ppt课件_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《高级编程实践---枚举与模拟ppt课件》由会员分享,可在线阅读,更多相关《高级编程实践---枚举与模拟ppt课件(14页珍藏版)》请在金锄头文库上搜索。

1、从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 【例例1 1】求最大公约数求最大公约数分析:分析:a,b的最大公约数的穷举范围的最大公约数的穷举范围: k=b,b-1,1 满足条件满足条件:a%k=0&b%k=0;Void main( ) for(k=b;k=1;k-) if(a%k=0&b%k=0) printf(“%ldn”,k); break; 从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 特点特点:算法

2、简单算法简单,计算量大。计算量大。减少计算量的方法减少计算量的方法: 使用尽可能少的变量使用尽可能少的变量 减少代码嵌套层次减少代码嵌套层次 避免不必要的判断避免不必要的判断 选择合适的搜索顺序选择合适的搜索顺序从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 【例例2 2】6 6位分段和平方数位分段和平方数思路思路1:对所有对所有6位整数位整数,判断是否是一个平方判断是否是一个平方数数,如是如是,再利用整数和求余运算把再利用整数和求余运算把a分为两分为两个个3位整数位整数x,y,若满足若满足a=(x+y

3、)2,即找到一个即找到一个解解. 思路思路2:对所有平方为对所有平方为6位整数的位整数的3位整数位整数b,求出求出a=b2,把把a分为前后两个分为前后两个3位整数位整数x,y,判判断断b是否等于是否等于x+y. 从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 【例例3 3】整币兑零问题整币兑零问题思路思路:对对6个变量进行穷举个变量进行穷举,穷举范围穷举范围:0=p1=n, 0=p2=n/2, 0=p5=n/5, 0=p10=n/10, 0=p20=n/20, 0=p50=n/50满足满足: p1+2*

4、p2+5*p5+10*p10+20*p20+50*p50=n,找到一种兑换方法找到一种兑换方法.从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 优化优化1:5个变量确定以后个变量确定以后,第第6个可以计算出来个可以计算出来:p1=n-(2*p2+5*p5+10*p10+20*p20+50*p50)优化优化2:循环条件可以加以限制循环条件可以加以限制,如如:P5循环从循环从0n/5改进为改进为0(n-2*p2)/5从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年

5、的城市地下工程施工中已很少使用,在此不再说明。 【例例】完美立方完美立方 Description 寻找所有四元组寻找所有四元组(a,b,c,d),使得使得a3=b3+c3+d3,其其中中1a,b,c,dN. Input 正整数正整数N(N=100) Output 每行输出一个完美立方每行输出一个完美立方,按照按照a的值从小到大的值从小到大依次输出依次输出.当两个完美立方等式中当两个完美立方等式中a的值相同时的值相同时,依次按照依次按照b,c,d的升序排列输出的升序排列输出.从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用

6、,在此不再说明。 分析分析:对四个变量按照对四个变量按照d-c-b-a的顺序进行枚举的顺序进行枚举.考虑如何减少循环次数考虑如何减少循环次数:1)对于对于a, 6=a=N2)b,c,d满足满足abcd3)b,c,d都小于都小于a4)预先计算每个整数的立方预先计算每个整数的立方从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 【例例】数字三角形数字三角形 Description 将将A,B,C,D,E,F六个变量排成三角形六个变量排成三角形,六个变六个变量分别取量分别取1,6上不相同的证书,且使三角形三上不

7、相同的证书,且使三角形三条边上的变量之和相等条边上的变量之和相等. Input 一个一个16之间的整数之间的整数A Output 所有以所有以A为顶的三角形为顶的三角形从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 分析分析:当当A确定后确定后,对对B,C,D,E,F各变量在取值范围内各变量在取值范围内,逐个检验是否满足三边相等逐个检验是否满足三边相等.在各变量的循环中在各变量的循环中,对已经出现的值将不再考对已经出现的值将不再考虑虑.对于对于F可以通过其他变量的值计算获得可以通过其他变量的值计算获得,

8、可减可减少一个变量的循环少一个变量的循环.从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 模拟 对于无法找到公式或规律进行求解的问对于无法找到公式或规律进行求解的问题题,采用模拟的方法采用模拟的方法,用计算机模拟人解决问用计算机模拟人解决问题的方法来寻找答案题的方法来寻找答案.运算模拟运算模拟操作过程模拟操作过程模拟从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 【例例】n个个1 的数字游戏的数字游戏 Descr

9、iption 给定一个正整数给定一个正整数p(个位数不为个位数不为5的奇数的奇数),求另求另一个正整数一个正整数q,使得使得p和和q 的积全是的积全是1组成的整数组成的整数. Input 第第1 行是测试数据的组数行是测试数据的组数t,每组测试数据占每组测试数据占1行行,每行包括一个个位数字不是每行包括一个个位数字不是5的奇数的奇数p. Output 对应每组测试数据输出共对应每组测试数据输出共 t行行,每行输出两个每行输出两个整数整数,之间有一个空格分隔之间有一个空格分隔,一个是一个是q,一个是一个是p和和q的乘积的乘积.从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部

10、敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 分析分析:采用模拟除运算采用模拟除运算.模拟除的参量模拟除的参量:1)原始数据原始数据:个位数字不是个位数字不是5的奇数的奇数p2)初始量初始量:c=11,n=23)循环条件循环条件:c!=04)构造量构造量:m=1从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 【例例】数字七段显示数字七段显示 Description 数字可以通过控制数字可以通过控制7个发光器件组成个发光器件组成. Input 输入包括多行输入包括多行,每行包括三个

11、整数每行包括三个整数w,h,n, w,h表表示显示数字的尺寸示显示数字的尺寸,n是要显示的数字是要显示的数字. Output 显示方式是显示方式是:用用w个个”-”表示一个水平线段表示一个水平线段,用用h个个”|”表示一个垂直线段表示一个垂直线段.每个数字需要占用每个数字需要占用w+2列和列和2*h+3行行.从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 分析分析:用三维数组表示用于显示用三维数组表示用于显示09的各个笔画的各个笔画.将整数拆分放在数组中将整数拆分放在数组中对数组中的每个数字按行进行显示对数组中的每个数字按行进行显示在显示过程中控制列宽和行高在显示过程中控制列宽和行高

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号