


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
排列与组合课题:排列与组合目标:知识目标:如何利用程序就各种排列和组合 能力目标:排列组合的运用重点:求出n的全排列和从m中取n个的组合难点:算法的理解板书示意:1) 求全排列的算法2) 求组合数的算法授课过程:例5:有3个人排成一个队列,问有多少种排对的方法,输出每一种方案?分析:如果我们将3个人进行编号,分别为1、2、3,显然我们列出所有的排列,123,132,213,231,312,321共六种。可用循环枚举各种情况,参考程序:program exam5;var i,j,k:integer;begin for i:=1 to 3 do for j:=1 to 3 do for k:=1 to 3 do if (i+j+k=6) and (i*j*k=6) then writeln(i,j,k);end.上述情况非常简单,因为只有3个人,但当有n个人时怎么办?显然用循环不能解决问题。下面我们介绍一种求全排列的方法。设当前排列为p1 p2 ,pn,则下一个排列可按如下算法完成:1求满足关系式pj-1 pj的j的最大值,设为i,即i=maxj | pj-1 pj , j = 2.n2求满足关系式pi -1 pk的k的最大值,设为j,即j=maxk | pi-1 pk , k = 1.n3pi -1与pj互换得 (p) = p1 p2 ,pn4(p) = p1 p2 , pi-1 pi, pn部分的顺序逆转,得p1 p2 , pi-1 pn pn-1, pi便是下一个排列。例:设p1 p2 p3 p4 =34211i= maxj | pj-1 pj , j = 2.n = 22j=maxk | pi-1 pk , k =1.n = 23p1与p2交换得到432144321的321部分逆转得到4123即是3421的下一个排列。程序设计如下:program exam5;const maxn = 100;var i,j,m,t : integer; p : array1.maxn of integer; count :integer; 排列数目统计变量begin write(m:);readln(m); for i:=1 to m do begin pi:=i; write(i) end; writeln; count:=1; repeat求满足关系式pj-1 1) and (pi-1=pi) do dec(i); if i=1 then break; 求满足关系式pi -1 0) and (pi-1=pj) do dec(j); if j=0 then break; pi -1与pj互换得 (p) = p1 p2 ,pm t:=pi-1;pi-1:=pj;pj:=t;pi, pm的顺序逆转 for j:=1 to (m-i+1) div 2 do begin t:=pi+j-1;pi+j-1:=pm-j+1;pm-j+1:=t end; 打印当前解 for i:=1 to m do write(pi); inc(count); writeln; until false; writeln(count)end.例6:求n个人选取m个人出来做游戏,共有多少种取法?例如:n=4,m=2时,有12,13,14,23,24,34共六种。分析:因为组合数跟顺序的选择无关。因此对同一个组合的不同排列,只需取其最小的一个(即按从小到大排序)。因此,可以设计如下算法:1最后一位数最大可达n,倒数第二位数最大可达n-1,依此类推,倒数第k位数最大可达n-k+1。若r个元素组合用c1c2 cr表示,且假定c1c2 cr, cr=n-r+i, i=1,2,r。2当存在cjn-r+j时,其中下标的最大者设为i,即i=maxj | cjn-r+j,则作ci := ci +1,与之对应的操作有ci+1 := ci +1 ,ci+2 := ci +1+1 ,. ,cr := cr-1 +1参考程序:program exam6;const maxn=10;var i,j,n,m :integer; c :array1.maxnof integer; c数组记录当前组合beginwrite(n & m:); readln(n,m); for i:=1 to m do begin初始化,建立第一个组合 ci:=i; write(ci); end; writeln; while c1n-m+1) and ( j0) do dec(j);求i=maxj | cjn
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年河北顺德投资集团有限公司公开招聘劳务派遣人员4名考前自测高频考点模拟试题完整答案详解
- 2025至2030中国鱼虾蟹配合饲料行业市场发展分析及商业模式与投融资报告
- 2025广东中山市横栏镇纪检监察办公室招聘1人模拟试卷附答案详解(考试直接用)
- 2025年度延吉市中小学教师专项招聘116人考前自测高频考点模拟试题附答案详解(模拟题)
- 2025至2030中国消噪耳机行业项目调研及市场前景预测评估报告
- 2025年徐州邳州市面向毕业生公开招聘编制教师208人考前自测高频考点模拟试题及答案详解(新)
- 2025南平延平塔前镇卫生院招聘医师模拟试卷附答案详解(考试直接用)
- 2025至2030中国溴硝醇杀菌剂行业产业运行态势及投资规划深度研究报告
- 2025湖南娄底冷水江市城发实业有限公司公开招聘实验室试验员的模拟试卷含答案详解
- 2025年滨州邹平怀远学校教师招聘25人考前自测高频考点模拟试题附答案详解(模拟题)
- 派车单(标准样本)
- 少先队大队委申请表
- 广东省建筑施工安全管理资料统一用表2021年版(原文格式版)
- 浦东机场手册
- 柴油机负荷特性曲线比较课件
- JGJ保温防火复合板应用技术
- 《认识液体》-完整版PPT
- 《跳长绳绕“8”字跳绳》教学设计-小学《体育与健康》(水平二)四年级上册-人教版
- 幼儿园绘本:《闪闪的红星》 红色故事
- 山区二级公路施工组织设计(共60页)
- 小学生符号意识与模型思想的发展与培养
评论
0/150
提交评论