装错信封问题(建立数学模型)
装错信封问题即欧拉错排问题

装错信封问题即欧拉错排问题
中“信封装错问题”的数学模型及解法;
有人写了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封信依次为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);}总结:这种递归格式很值得推崇,代码的模块化显然也是这⼏个代码的共同的优势所在,。
欧拉装错信封问题

欧拉装错信封问题“装错信封问题”是由当时最有名的数学家约翰·伯努利(Johann Bernoulli ,1667-1748)的儿子丹尼尔·伯努利(DanidBernoulli ,1700-1782)提出来的,大意如下: 一个人写了n 封不同的信及相应的n 个不同的信封,他把这n 封信都装错了信封,问都装错信封的装法有多少种?1. 一个人写了4封不同的信及相应的4个不同的信封,他把这4封信都装错了信封,问都装错信封的装法有多少种? 【解析】分为两步(1)首先让A 信选信封,有3种选择,假设A 选择了b 信封(2)接着让B 信选信封,选择情况可分为两大类○1B 信选择了a 信封(A 信与B 信相互选择对方的信封)剩下了C 信、D 信去选择c 信封、d 信封,相当于是2封不同的信装入对应的2个不同的信封,有2A 种装法。
○2B 信不选择a 信封 dD 信封信cbaC B A dD 信封信cbaC B A相当于3封信装入对应的3个不同的信封(因为B 信不选择a 信封,所以可以将a 信封看成b 信封),有3A 种装法。
综上,由乘法原理可得:()()()432=4-13219A A A +=⨯+=(种)装法。
同理我们可以总结出递推公式:()()12=-1n n n A n A A --+(拓展:装错信封求解公式()111!1-11!2!!nn A n n ⎛⎫=-+++⋅⎪⎝⎭)2. 同室四人各写一张贺年卡,先集中起来,然后每人从中拿一张别人送出的贺年卡.则四张贺年卡的不同分配方式有 _____种 (1993年全国高考题理科17题)3. 有5个客人参加宴会,他们把帽子放在衣帽寄放室内,宴会结束后每人戴了一顶帽子回家.回家后,他们的妻子都发现他们戴了别人的帽子.问5个客人都不戴自己帽子的戴法有多少种?××dD 信封信cb a(b )C B A。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2建立数学模型
“装错信封问题”及两个特例,其实就是n个不同元素的一类特殊排列问题,本文试就给出这类问题的数学模型及求解公式.为方便,我们先把n个不同的元素及相应的位置都编上序号1,2,…,n,并且约定:在n个不同元素的排列中
1° 若编号为i(i=1,2,…,n)的元素排在第i个位置,则称元素i在原位;否则称元素i不在原位.
2° 若所有的元素都不在原位,则称这种排列为n个不同元素的一个错排(若每个元素都在原位则称为序排).
按照上面约定,“装错信封问题”即为n个不同元素的错排问题,则可构建“装错信封问题”的数学模型为
在n个不同元素的全排列中,有多少种不同的错排?
|I|=n!
|Ai|=(n-1)!
|Ai∩Aj|=(n-2)!
……
……
|A1∩A2∩…∩An|=(n-n)!=0!
所以,根பைடு நூலகம்容斥原理即得“装错信封问题”的数学模型的求解公式(即n个不同元素的错排数)为
4应用举例
一个元素的错排数显然为0,二个不同元素的错排数为1,三个不同元素的错排数为2,均可由公式 验证,由公式 还可求得四个不同元素的错排数为
[ ]
A.20种 B.30种
C.60种 D.120种
解本题实质上是三个元素的错排问题,但由于题中未指明是哪三个元素进行的错排,故本题可分两步求解.
第二步,对已选出的三个元素进行错排,有2种.
例2某省决定对所辖8个城市的党政一把手进行任职交流,要求把每个干部都调到另一个城市去担任相应的职务.问共有多少种不同的干部调配方案?
解实质上本题即为8个不同元素的错排问题,一种干部调配方法对应于8个不同元素的一个错排.故由公式 可求得不同的干部调配方案数为
3模型求解
应用集合中的容斥原理,我们就可得到“装错信封问题”的数学模型的求解公式.
设I表示n个不同元素的全排列的集合
Ai(i=1,2,…,n)为元素i在原位的排列的集合.
Ai∩Aj(1≤i<j≤n)为元素i与j在原位的排列的集合.
……
……
A1∩A2∩…∩An为n个元素的序排的集合.
则它们的排列数(即各个集合中元素的个数)分别为
五个不同元素的错排数为
则本文开头的问题1)共有9种不同的分配方式,故选(B).问题2)共有44种不同的戴法,下面再举几例说明公式 的应用.
例1设有编号为1,2,3,4,5的五个球和编号为1,2,3,4,5的五个盒子,现将这五个球投放入五个盒内,要求每个盒内投放一个球,并且恰好有两个球的编号与盒子的编号相同,则这样的投放方法的总数为
附:
“专题教学案例设计”框架
姓名学校
执教年级使用教材
课程性质(必修、选修)
课题
一、选题理由
二、程序设计
三、课后反思
四、学生感受
五、学生成果
六、相关材料
七、其他
装错信封问题
1问题的提出
1)同室四人各写一张贺年卡,先集中起来,然后每人从中拿一张别人送出的贺年卡.则四张贺年卡的不同分配方式有[ ]
A.6种B.9种C.11种 D.23种
2)有5个客人参加宴会,他们把帽子放在衣帽寄放室内,宴会结束后每人戴了一顶帽子回家.回家后,他们的妻子都发现他们戴了别人的帽子.问5个客人都不戴自己帽子的戴法有多少种?
上述两个问题,实质上是完全一样的.是被著名数学家欧拉(Leonhard Euler,1707-1783)称为“组合数论的一个妙题”的“装错信封问题”的两个特例.“装错信封问题”是由当时最有名的数学家约翰·伯努利(Johann Bernoulli,1667-1748)的儿子丹尼尔·伯努利(DanidBernoulli,1700-1782)提出来的,大意如下: