装错信封问题(1)
装错信封问题即欧拉错排问题

装错信封问题即欧拉错排问题
中“信封装错问题”的数学模型及解法;
有人写了N封信,同时写了N个信封,然后任意把信放进信封里。
问:每个字母被错误地装入时有多少种情况?排列、组合和简单计数问题。
计算问题。
让我们假设n个字母是A,B,c。
第一个字母A 有(n-1)种子放置方法。
假设A被放置在对应于B的包络中,B具有(n-1)种子放置方法;通过类比,分析下列字母的位置,然后通过计算排列公式得到答案。
解决方法:如果N个字母是A,B,c…,那么第一个字母A有(N-1)放置方法,并且假设A被放置在对应于B的信封中,那么B有(N-1)放置方法;假设b被放置在对应于c的包络中,c具有(n-2)种子放置方法;假设C被放置在对应于D的包络中,D具有(n-3)种子放置方法;...等等,有一种方法可以释放字母n;还有(n-1) (n-1) (n-2) (n-3)...1 = (n-1) (n-1)!因此,每个字母都被错误地加载(n-1) (n-1)!备注:本主题检查逐步计数原则的应用,并注意使用假设方法解决问题。
著名数学家莱昂哈德·欧拉(1707-1783)将“错放包络问题”的两个特例称为“组合数论中的一个奇n*1/n!)证明:
设置总排列t1,t2,...,TN = 1,2,...,n为I,并将ti=i设置为Ai(1。
错排信封问题

回专题模式回学习阶段模式
【题目名称、来源】
错排信封问题《组合数学》经典题目
【问题描述】
伯努利有n封信要寄,现在有n个信封装这n封信,问任何一封信都不装到正确的信封里的方案有多少种。
【所属专题】
组合数学算法
【适合学习阶段】
第二阶段
【解题思路】
问题分析:
方法一、找递推式
以1、2、3、4四个数为例找出错排规律,
1 2 的错排是唯一的2 1
1 2 3的错排有3 1 2 和2 1 3,这两个可以看成是1 2错排,3分别于1和2换位所得,如下图所示
1 2 3 4的错排有
4 3 2 1,4 1 2 3,4 3 1 2,
3 4 1 2,3 4 2 1,2 4 1 3,
2 1 4 3,
3 1
4 2,2 3 4 1
第一列是4分别与1,2,3互换位置,其余两个元素错排,由此产生的。
第二列是4与1 2 3 的一个错排3 1 2的每一个数互换得到的
第三列是4与1 2 3的另一个错排2 3 1中的每一个数换位所得
从上面的分析结果可知,产生n个数的错排方法是:
设n个数1 2 3 …n的错排数目为D(n),任取其中一个数i,数i分别与其他的n-1个数之一互换,其余n-2个数错排,共得(n-1)*D(n-2)个错排,另一部分为数i以外的n-1个数进行错排,然后i与其中任意一个数互换得(n-1)*D(n-1)个错排。
综合以上分析的递推关系:
D(n)=(n-1)(D(n-1)+D(n-2)) D(1)=0 D(2)=1 D(3)=2 方法二、容斥原理
存储结构:
【测试数据】
【源程序】。
人工智能实验报告(装错信封问题)

permutation([A|X],Y):-delete(A,Y,Y1),permutation(X,Y1).
some_element_right([A|X],[A|Y]).
some_element_right([A|X],[B|Y]):-some_element_right(X,Y).
letter(X,Y):-permutation(X,Y),not(some_element_right(X,Y)),
write(X),nl,fail.
Goal
letter(X,[1,2,3,4,5]).
实验记录
装错信封问题:
设定目标为: letter(X,[1,2,3,4,5]).
结果为:
成功运行程序后, 得出44种可能的结果:
[5,4,2,1,3]
[5,4,2,3,1]
No Solution
实验结论(结果)
装错信封问题:
该程序运行后得出了44种装错信封的可能, 得出的结论是出现装错信封的可能概率是44/120。
该程序运行后得出了44种装错信封的可能,得出的结论是出现装错信封的可能概率是44/120。
实验心得与小结
通过这次实验我更加熟悉了 Prolog语言和该软件开发平台。对Prolog语言的基本语法规则和使用技巧有了更好的掌握。在使用Visual Prolog软件开发平台的过程中, 我从对软件的不熟悉, 经常出错, 到会编写一些小型完整的Visual Prolog应用程序, 在这过程中, 我增长了很多知识。最后经过本次试验, 我的动手能力和分析问题的能力得到提高。
分析该问题的实质以及其中存在的递归作用;利用列表数据结构及上面介绍的谓词编写出装错信封问题的程序;联系全排列问题理解列表数据结构的作用。启动prolog编辑环境,编辑装错信封问题源程序;运行程序,分析结果;并算出其概率;理解列表数据结构的作用。根据最后的结果,算出其概率。
高中数学《装错信封问题》

利用错排公式求解装错信封问题【问题背景】18世纪数学家约翰·伯努利(Johann Bernoulli ,1667—1748)的儿子丹尼尔·伯努利(Danid Bernoulli ,1700—1782)提出来这样一个问题:一个人写了n 封信,并且写了n 个对应的信封,这个人随机将这n 封信分别装入这n 个信封,问:都装错的情况有多少种?后来著名数学家欧拉对此产生浓厚兴趣,并称之为“组合理论的一个妙题”,并且给出了“装错信封问题”的一劳永逸的答案:设n 个信封都装错的情况数为n D ,那么11111(1)(1)!0!1!2!3!(1)!!n n n D n n n −⎡⎤−−=⋅−+−+⋅⋅⋅++⎢⎥−⎣⎦. 特别说明,以上公式是通过数列递推得来,为了简化约分运算,我们可以将上式化简为2311(1)(1)n n n n n n n n D A A A −−−=−+⋅⋅⋅+−+−.在这里,我们可以记忆一些常见的结果:123450,1,2,9,44D D D D D =====.【经典例题】重新排列1,2,3,4,5,6,7,8.(1)使得偶数在原来的位置上,而奇数不在原来的位置上,有多少种不同的排法?(2)使得偶数在奇数的位置上,而奇数在偶数的位置上,有多少种不同的排法?(3)使得偶数在偶数位置上,但都不在原来的位置上,奇数在奇数的位置上,但也都不在原来的位置上,有多少种不同的排法?(4)如果要有数在原来的位置上,有多少种不同的排法?(5)如果只有4个数在原来的位置上,有多少种不同的排法?(6)如果至少有4个数在原来的位置上,有多少种不同的排法?(7)使得偶数在偶数的位置上,但恰有两个数不在原来的位置上,奇数在奇数的位置上,但恰有两个数不在原来位置上,有多少种不同的排法?(8)使得偶数在偶数的位置上,且至少有两个数不在原来的位置上;奇数在奇数的位置上,也至少有两个数不在原来的位置上,有多少种不同的排法?解析:(1)本题实质上是“装错信封问题”,49D =.(2)偶数在奇数位置上44A ,奇数在偶数位置上44A ,4444576A A ⋅=.(3)4481D D ⋅=.(4)正难则反,对8个数进行全排列88A ,减去没有数在原来的位置上8D ,88825487A D −=.(5)先从8个数中选择4个数在原来的位置上,剩余4个数不在原来的位置上,用分步乘法计数原理:484630C D ⋅=.(6)分类求解:45688483828771C D C D C D C ⋅+⋅+⋅+=.(7)224242()()36C D C D ⋅⋅⋅=.(8)22424424()()225C D D C D D ⋅+⋅⋅+=.上式中至少有2个数不在原来的位置上,包括恰有2个数不在原来的位置上和4个数都不在原来的位置上两种情况.【小结】“问题是数学的心脏.”思考问题,解决问题,才能促进数学素养的形成.。
信封问题概率论

信封问题概率论引言概率论是数学中的一个分支,研究随机现象的规律性和不确定性。
在实际生活中,我们经常会遇到一些与概率相关的问题,其中一个典型的例子就是信封问题。
信封问题是一个经典的概率论问题,它涉及到将n个信封随机放入n个地址不同的信箱中,问所有信箱都放错信封的概率是多少。
这个问题看似简单,但实际上涉及到一些深层次的概率计算和思维方式。
本文将从数学角度详细解析信封问题,并给出具体的计算方法和结果。
问题描述假设有n个地址不同的信箱和n个对应地址的信封。
我们将这n个信封随机放入这n个地址不同的信箱中。
问所有信箱都放错了信封的概率是多少?解析要计算所有信箱都放错了信封的概率,我们可以采用排列组合和递归思想来解决。
首先考虑最简单情况,即只有两个地址不同的信箱和两个对应地址的信封。
假设这两个地址分别为A和B,对应的两个信封为a和b。
那么放错了信封的情况只有两种:一种是a放到了B信箱中,另一种是b放到了A信箱中。
因此,所有信箱都放错了信封的概率为1/2。
当我们增加一个地址不同的信箱和对应的信封时,问题就变得稍微复杂一些。
假设现在有三个地址不同的信箱和三个对应地址的信封。
我们可以将这个问题拆分成两个子问题来解决:•子问题1:第一个信箱放错了信封。
•子问题2:第一个信箱没有放错信封。
对于子问题1,由于第一个信箱放错了信封,那么剩下的两个地址不同的信箱和两个对应地址的信封相当于是一个新的子问题。
根据递归思想,我们可以继续将这个子问题拆分成两个更小的子问题。
具体而言,我们可以按照上述步骤继续计算所有剩余地址都放错了信封的概率。
对于子问题2,由于第一个地址正确地放置了相应的信封,剩下两个地址不同的信箱和两个对应地址的信封也相当于是一个新的子问题。
根据递归思想,我们可以继续将这个子问题拆分成两个更小的子问题。
具体而言,我们可以按照上述步骤继续计算所有剩余地址都放错了信封的概率。
通过递归处理子问题,我们可以依次求解所有情况下所有信箱都放错了信封的概率,并将它们相加得到最终的结果。
装错信封问题即欧拉错排问题

“装错信封问题”的数学模型与求解某人写了n封信,同时写了n个信封,然后将信任意装入信封,问:每封信都装错的情况有多少种?排列、组合及简单计数问题.计算题.设这n封信依次为a、b、c…,第1封信a有(n﹣1)种放法,假设a放到了b对应的信封里,则b有(n﹣1)种放法;依此类推,分析随后的几封信的放法,进而由排列数公式计算可得答案.解:设这n封信依次为a、b、c…,则第1封信a有(n﹣1)种放法,假设a放到了b对应的信封里,则b有(n﹣1)种放法;假设b放到了c对应的信封里,则c有(n﹣2)种放法;假设c放到了d对应的信封里,则d有(n﹣3)种放法;…依此类推,第n封信有1种放法;则共有(n﹣1)(n﹣1)(n﹣2)(n﹣3)…1=(n﹣1)(n﹣1)!,故每封信都装错的情况有(n﹣1)(n﹣1)!种.点评:本题考查分步计数原理的运用,解题中注意用假设的方法.被著名数学家欧拉(Leonhard Euler,1707-1783)称为“组合数论的一个妙题”的“装错信封问题”的两个特例.“装错信封问题”是由当时最有名的数学家约翰·伯努利(Johann Bernoulli,1667-1748)的儿子丹尼尔·伯努利(DanidBernoulli,1700-1782)提出来的,大意如下:一个人写了n封不同的信及相应的n个不同的信封,他把这n封信都装错了信封,问都装错信封的装法有多少种?公式证明n个相异的元素排成一排a1,a2,...,an,且ai(i=1,2,...,n)不在第i位的排列数为n!(1-1/1!+1/2!-1/3!+...+(-1)^n*1/n!)证明:设1,2,...,n的全排列t1,t2,...,tn的集合为I,而使ti=i的全排列的集合记为Ai(1<=i<=n),则Dn=|I|-|A1∪A2∪...∪An|.所以Dn=n!-|A1∪A2∪...∪An|.注意到|Ai|=(n-1)!,|Ai∩Aj|=(n-2)!,...,|A1∩A2∩...∩An|=0!=1.由容斥原理:Dn=n!-|A1∪A2∪...∪An|=n!-C(n,1)(n-1)!+C(n,2)(n-2)!-C(n,3)(n-3)!+...+(-1)^nC(n,n)*0!=n!(1-1/1!+1/2!-1/3!+...+(-1)^n*1/n!)1 问题的提出1)同室四人各写一张贺年卡,先集中起来,然后每人从中拿一张别人送出的贺年卡.则四张贺年卡的不同分配方式有A.6种B.9种C.11种D.23种(1993年全国高考题理科17题)2)有5个客人参加宴会,他们把帽子放在衣帽寄放室内,宴会结束后每人戴了一顶帽子回家.回家后,他们的妻子都发现他们戴了别人的帽子.问5个客人都不戴自己帽子的戴法有多少种?上述两个问题,实质上是完全一样的.是被著名数学家欧拉(Leonhard Euler,1707-1783)称为“组合数论的一个妙题”的“装错信封问题”的两个特例.“装错信封问题”是由当时最有名的数学家约翰·伯努利(Johann Bernoulli,1667-1748)的儿子丹尼尔·伯努利(DanidBernoulli,1700-1782)提出来的,大意如下:一个人写了n封不同的信及相应的n个不同的信封,他把这n封信都装错了信封,问都装错信封的装法有多少种?2建立数学模型“装错信封问题”及两个特例,其实就是n个不同元素的一类特殊排列问题,本文试就给出这类问题的数学模型及求解公式.为方便,我们先把n个不同的元素及相应的位置都编上序号1,2,…,n,并且约定:在n个不同元素的排列中1°若编号为i(i=1,2,…,n)的元素排在第i个位置,则称元素i在原位;否则称元素i不在原位.2°若所有的元素都不在原位,则称这种排列为n个不同元素的一个错排(若每个元素都在原位则称为序排).按照上面约定,“装错信封问题”即为n个不同元素的错排问题,则可构建“装错信封问题”的数学模型为在n个不同元素的全排列中,有多少种不同的错排?3 模型求解应用集合中的容斥原理,我们就可得到“装错信封问题”的数学模型的求解公式.设I表示n个不同元素的全排列的集合A i(i=1,2,…,n)为元素i在原位的排列的集合.A i∩A j(1≤i<j≤n)为元素i与j在原位的排列的集合.…………A1∩A2∩…∩A n为n个元素的序排的集合.则它们的排列数(即各个集合中元素的个数)分别为|I|=n!|A i|=(n-1)!|A i∩A j|=(n-2)!…………|A1∩A2∩…∩A n|=(n-n)!=0!所以,根据容斥原理即得“装错信封问题”的数学模型的求解公式(即n个不同元素的错排数)为4 应用举例一个元素的错排数显然为0,二个不同元素的错排数为1,三个不同元素的错排数为2,均可由公式验证,由公式还可求得四个不同元素的错排数为五个不同元素的错排数为则本文开头的问题1)共有9种不同的分配方式,故选(B).问题2)共有44种不同的戴法,下面再举几例说明公式的应用.例1 (1991年上海高考题)设有编号为1,2,3,4,5的五个球和编号为1,2,3,4,5的五个盒子,现将这五个球投放入五个盒内,要求每个盒内投放一个球,并且恰好有两个球的编号与盒子的编号相同,则这样的投放方法的总数为[ ] A.20种B.30种C.60种D.120种解本题实质上是三个元素的错排问题,但由于题中未指明是哪三个元素进行的错排,故本题可分两步求解.第二步,对已选出的三个元素进行错排,有2种.例2某省决定对所辖8个城市的党政一把手进行任职交流,要求把每个干部都调到另一个城市去担任相应的职务.问共有多少种不同的干部调配方案?解实质上本题即为8个不同元素的错排问题,一种干部调配方法对应于8个不同元素的一个错排.故由公式可求得不同的干部调配方案数为-- 参考答案:瑞士数学家欧拉按一般情况给出了一个递推公式:用A、B、C……表示写着n位友人名字的信封,a、b、c……表示n份相应的写好的信纸。
全装错信问题即全错位排列问题及拓展

全装错信问题即全错位排列问题及拓展——龙城老欧全装错信问题又称全错位排列问题,最早由瑞士数学家伯努利提出,最后由伯努利与他的学生欧拉讨论解决,这个问题就是——我们将编号是1、2、…、n的n封信,装入编号为1、2、…、n的n个信封,要求每封信都和信封的编号不同,即1不能装进1,2不能装进2,3不能装进3……问有多少种装法?看到这个问题时,我们的第一反应就是退到简单处入手研究,如果只有一封信,2封信,3封信,4封信,……,然后从中再思考,之间是否有共性,是否有关联,共性用归纳,关联构成递推,或者其他。
〖解法〗容易知道:a[1]=0,a[2]=1,a[3]=2,a[4]=6;依我们设a[i]为i封信的全错位排列数据递归推理那么有a[i]=(a[i-1]+a[i-2])×(i-1), (i>=3)。
为什么?为什么?为什么?大多数人看不明白。
不急,尽量先自己思考,不行的话,听我来解释:思考1:对于插入第i个元素,只可能有两种情况:第一种情况:插入第i个元素时,前i-1个已经错位排好,则选择其中任意一个与第i个互换一定满足要求,选择方法共i-1种,前i-1位错排f[i-1]种,记f[i-1]*(i-1),如下图:第二种情况:插入第i个元素时,前i-1个中恰有一个元素恰好在自己的位置上,即恰好只有一个元素不满足错位排列,其他i-2个错位排好,则将i与j交换,j在i-2位中的插入共i-1种,前i-2位错排a[i-2]种,记f[i-2]*(i-1),如下图:以上两种情况求和可得: a[i]=(a[i-1]+a[i-2])×(i-1) (i>=3)我们还可以这样思考:思考2:有(i-1)个人已经都坐在在自己的板凳上了,现在第i个人张三带着自己的板凳来了,下面我们来对这i个人进行全错位排排坐,方法1:前面(i-1)个人中的某一个带着板凳出来与第i个人张三互换板凳坐(有(i-1)种方法),其它(i-2)个人进行全错位排列(有a[i-2]种方法),这样就整体上都是全错位;方法2:第i 个人张三走进去与将(i-1)个人中的某一个人换出来(i-1种方法),换出来的人(不妨称是李四)坐张三的板凳,换出来的李四的板凳看作张三的新板凳,这样又面临了(i-1)个元素进行全错位排列问题(a[i-2]种方法),这样就整体上也都是全错位了。
[转载]伯努利装错信封问题
![[转载]伯努利装错信封问题](https://img.taocdn.com/s3/m/e2db50e59f3143323968011ca300a6c30c22f1ec.png)
[转载]伯努利装错信封问题原⽂地址:伯努利装错信封问题作者:NINO今天是我⼀次写博客,之所以开这个博客也是受学长的启发,希望借这个博客好好整理⼀下,以后这⾥会有⼀些我认为有帮助的题⽬,有⽔题也有难题(可能对我来说),废话不说,直接说今天这道题。
这道题本质上就是全错排,我想很久都没有头绪,肯能是受装苹果问题的印象,⼀开始我就认为这是⽤递归做,这题⼤概下⼀篇博⽂我就很整理⼀下,受其影响,我认为也应该会是先确定⼀位,再⼀次往下推;后来在群⾥听⼀些盆友的分析,知道了应该全排列,然后排除⼀些特殊的,怎么全牌呢?有两种思路,⼀个⼤概是放⼀个数组,这个数组表⽰⼀个数字,然后按数字的递增来表⽰全排列,另⼀种就是所谓的算法,显然我⼊了这个坑,,,虽然输出顺序有错,但细细想这个算法还是很赞的,事先声明,回溯法对此题并不受⽤,,,后来⾼中同学给了我⼀个代码,在他的指点下,我写了这个代码#includeint count=0;void print(int *,int);void fun(int *,int,int);int main(){int arry[7];int n;scanf("%d",&n);fun(arry,0,n-1);if(count%5==0)printf("s=%dn",count);elseprintf("ns=%dn",count);return 0;}//打印兼排除void print(int *a,int n){int i,j,flag=1;//排除⾮错位的for(i=0;i<=n;i++)if(*(a+i)==i+1){flag = 0;break;}//排除重复的for(i=0;i<=n;i++)for(j=i+1;j<=n;j++)if(*(a+i)==*(a+j)){flag = 0;break;}if(flag){count++;if(count%5!=0){for(i=0;iprintf("%d",*(a+i));printf("%d ",*(a+i));}else{for(i=0;iprintf("%d",*(a+i));printf("%dn",*(a+i));}}}void fun(int *a,int index,int n){if(index==n+1)print(a,n);else{for(*(a+index)=1;*(a+index)<=n+1;(*(a+index))++)fun(a,index+1,n);}}后来,⽼师给我⼀个算法,这个算法竟然不⽤递归,简直极好的,#includeint fun(int i,int n){int a[10],j,k;for(j=n-1;j>=0;j--){a[j]=i;i/=10;}for(j=0;j{if(a[j]==j+1) break;if(a[j]>n||a[j]==0) break;for(k=j+1;kif(a[j]==a[k]) break;if(k!=n) break;}if(j==n) return 1;else return 0;}int main(){int n,i,s=0,a=1;double b;scanf("%d",&n);b = n + n*0.1;for(i=0;ia*=10;b*=10;}for(i=a;iif(fun(i,n)==1){s++;if(s%5==0) printf("%dn",i);else printf("%d ",i);}if(s%5!=0) printf("n");printf("s=%dn",s);return 0;}其实百度知道也有这个代码,它的⽅法也和第⼀个异曲同⼯,可以说是加强版的;第⼆个思路很赞,但只能说是技巧,#include#includeint printed;void draw(int* a,int k){int i;for(i=0;i{printf("%d",a[i]);}printf("n");}void Settle(int*a,int iStep,int k){int i;for(i=0;iif(a[iStep-1]==a[i]) return;if(iStep==k){draw(a,k);printed++;}for(i=1;i<=k;i++){if(i==iStep+1) continue;a[iStep]=i;Settle(a,iStep+1,k);}}void main(){int* a;int k;scanf("%d",&k);a=(int*)calloc(k,sizeof(int));Settle(a,0,k);printf("s=%dn",printed);}总结:这种递归格式很值得推崇,代码的模块化显然也是这⼏个代码的共同的优势所在,。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
装错信封问题
容斥原理
I ∑∑≤<≤=⋂+-
=⋂⋂⋂n
i i i i n
i i
n A A
A A A A A 2121
11
21||||||||
∑≤<<<≤⋂⋂⋂-++⋂⋂⋂-++n
i i i n n i i i k
k k A A A A A A
2121
121.||)1(||)1(
II 1212121
1||||||n
n i i i i i i n
A A A A A A =≤<≤⋃⋃
⋃=-
⋂∑∑
∑≤<<<≤--⋂⋂⋂-++⋂⋂⋂-++n
i i i n n i i i k k k A A A A A A
2121
12111
.||)1(||)1(
装错信封问题
“装错信封问题”是由当时最有名的数学家约翰·伯努利(Johann Bernoulli ,1667—1748)的儿子丹尼尔·伯努利(Danid Bernoulli ,1700—1782)提出来的,大意如下:一个人写了n 封信都装错了信封,问都装错信封的装法有多少种?
其他叙述方式
(1) “拿错帽子问题” (2) “分发贺卡问题” (3) “更列问题”
设n 封为n a a ,,1 ,n 个信封为n A A ,,1 ,装对的情形为i a 装入i A ),,2,1(n i =. 我们把都装错的情形数记为n .
(1) 若不考虑是否装对信封,则有!n A n
n =种.
(2) 若至少有1封信装对信封,即i a 装入i A ,而其他1-n 封信的装法有-1-1(-1)!n n A n =.由于i a 装入i A 有1n C 种,所以,至少有1封信装对信封的装法有1-1-1n n n C A 种.
(3) 若至少有2封信装对信封,即i a 装入i A ,j a 装入j A ,而其他2-n 封信的装法
有-2-2(-2)!n n A n =,所以,至少有2封信装对信封的装法有2-2
-2n n n C A 种. (4) 至少有3封信装对信封的装法有3-3-3n n n C A 种.
(5) 一般地,其中至少有k 封装对的装法有k n k
n n k C A --种.
于是,由容斥原理,封信都装错的情形种数为.
12!(1)!(2)!(1)()!(1)1k k
n n n n n n C n C n C n k =-⋅-+⋅-++-⋅-++-⋅
另证.
设n 封为n a a ,,1 ,n 个信封为n A A ,,1 ,装对的情形为i a 装入i A ),,2,1(n i =.我
们把都装错的情形数记为n .
首先研究1a 装入2A 时,信封装错的种数.分两种情况.
(1)1a 装入2A ,2a 装入1A . 此时,其余2-n 封信都装错的种数为2-n .
(2)1a 装入2A ,2a 没有装入1A . 此时,其余1-n 封信都装错的种数为1-n .
这样,当1a 装入2A 时,信封装错的种数为1+2n n --.
同样,当1a 装入3A ,当1a 装入4A ,……,当1a 装入n A 时,信封装错的种数也为
1+2n n --.
从而,信封装错的所有种数为
)21)(1(-+--=n n n n .
2)1(11-⋅-+---⋅=n n n n n n .
于是,有递推公式
]2)1(1)[1(1-⋅----=-⋅-n n n n n n . 取,,,4,3,2n n =可得
332(1)(221)-⋅=--⋅
]2)1(1)[1(1-⋅----=-⋅-n n n n n n
相乘得
)122()1(12⋅--=-⋅--n n n n . 容易求出 .01,12==
于是 .)1(1n n n n -=-⋅-
从而 .!
)1()!1(1!n n n n n n
-=---
取,,,4,3,2n n =可得
!
2)1(!11!222
-=-
.!
)1()!1(1!n n n n n n
-=---
相加得
.!
)1(!51!41!31!21!11!n n n n
-+
+-+-=- 化为
1111(1)![].2!3!4!5!!
n
n n n -=⋅-+-++
定理1 n 封信都装错了信封的种数为
].!
)1(!51!41!31!21[!n n n n
-+
+-+-⋅= 或 ∑=--=n
i i
n n i A n 0)1(
或 ∑=-⋅-=n
i i n i i n C n 0
)!()1(.
有且只有k )(n k <封信装对信封等价于k n -封信装错信封. 于是有
定理2 有且只有k 封信装对的种数为.k n C k
n -⋅
有且只有k 封信装错的种数为.k C k n ⋅
定理3 至少有k 封信装对的种数为)!.(k n C A C k
n k n k n k n -⋅=⋅--
例1 由93,2,1,,
组成的形如⨯⨯⨯⨯⨯1234的九位数,其中,万位不是5,千位不是6,百位不是7,十位不是8,各位不是9,这样的九位数有多少个?
例2 证明!.00n n C C n
n n =⋅++⋅
例3 某一天的课表要排6门课程,每门课上且上一节,一天排6节课,体育课不在第一节,数学不在最后一节,问有多少种排法?
例4 有一个n 位数的集合,且这n 位数是由k ,,2,1 组成的,若每个数字至少出现一次,那么这个集合元素共有多少个?
例5 P 为集合},,2,1{n S n =的一个排列,一个元素n j S ∈,如果j j P =)(就称为P 的一个不动点. 令n f 为n S 的无不动点的排列的个数,n g 为n S 恰有一个不动点的排列的个数,证明:.1||=-n n g f
例6 把写有数码6,5,4,3,2,1的6张卡片插入编号为6,5,4,3,2,1的6只袋子,每只袋子只插入1张卡片.
(1) 求每一张卡片的号码与所在袋子的号码都不同的插法种数. (2) 求恰有3张卡片的号码与所在袋子的号码相同的插法种数.
1. 设有编号为1,2,3,4,5的五个球和编号为1,2,3,4,5的五个盒子,现将这五个球投放入五个盒内,要求每个盒内投放一个球,并且恰好有两个球的编号与盒子的编号相同,则这样的投放方法的总数为
第一步,先选出三个被错排的元素,有3
5C 种. 第二步,对已选出的三个元素进行错排,有2种.
所以,根据乘法原理可得投放方法总数为3
5C ·2=20种.
2. 某省决定对所辖8个城市的常政一把手进行任职交流,要求把每个干部都调到另一个城市去担任相应的职务,问共有多少种不同的干部调配方案?
解实质上本题即为8个不同元素的错排问题,一种干部调配方法对应于8个不同元素的一个错排.
11111111
-+-+-+-+=(种)
8!(1)14833
1!2!3!4!5!6!7!8!
3.同室四人各写一张贺年卡,先集中起来,然后每人从中拿一张别人送出的贺年卡,则四张贺年卡的不同分配方式有
4. 有5个客人参加宴会,他们把帽子放在衣帽寄放室内,宴会结束后每人戴了一顶帽子回家,回家后,他们的妻子都发现他们戴了别人的帽子.问5个客人都不戴自己帽子的戴法有多少种?
5. 由5,4,3,2,1这五个数字组成没有重复数字的五位数,按从小到大的顺序排列,问32154是这个数列的第几项?
6. 以长方体的8个顶点中的3点位顶点的三角形,锐角三角形的个数共有几个?
7. 一副扑克牌去掉两张王后还有52张,将牌发给4个人,每人13张,则某人获得的13张牌中花色齐全的全部情况数为多少?
第一、先从13张牌中选出一张,再给他选一个花色,则有13×4种选法
第二,从剩余的12张牌中再选一张,给他选一个与第一张牌颜色不同的花色,则有12×3种选法
第三、再从剩余的11张牌中选出一张,给他与前两张不同的花色,则有11×2种选法
第四、再从剩余的10张牌中选出一张,给他最后的一种花色,则有10×1种选法那么一共有:13×4×12×3×11×2×10×1=411840种组合情况.
8. 在年龄彼此不同的30人中选出两组人,第一组12人,第二组15人,若第一组中年龄最大的人比第二组中年龄最小的还要小,问有几种选择方式?4060
9. 从1-300中,任取3个不同的数,使它们的和为3的倍数,有多少种取法?
10.从6名短跑运动员中选出4人参加4×100m接力赛,如果甲不跑第一棒,乙不跑最后一棒,那么不同的参赛方案有几种?
11. 如果1个凸十边形没有三条对角线交于同一点,问在十边形内部由它们的交点可将对角线分割成多少条线段?
凸n边形的任意3条对角线不相交于形内的一点,问:(1)这些对角线将凸边形分成了多少个区域?(2)这些对角线被交点分成了多少条线段?
12. 从数字7,5,3,1,0中取出不同的三个作系数,可组成多少个不同的一元二次方程?其中有实数根的有几个?一共有多少个实数根?。