装错信封问题即欧拉错排问题

合集下载

神奇的错排问题

神奇的错排问题

有一道经典的数学问题:A和B每人持一门花色的牌(各13张),背面向上,并打乱。

然后每人出一张牌比较大小,共出13轮,试求这13轮中点数均不一样的概率。

这个问题看起来很简单,实则不容易。

为了解决这个问题,我们先看另外一个小问题——1,2,3,4四个数字,从左到右,第i个数不能放i(i=1,2,3,4),有几种放法?解析答案是9种:那么如果将4个数改成5个,6个……甚至n个,又应该怎么做呢?如果还是像刚才这样一个个的列出来,你会发现当数字增大时,情况会变得异常复杂,这种做法不再具备可行性,因此我们需要更加简便的方式——比如寻找递推公式。

对于n个元素的错排数,我们用D(n)表示。

第一步,把第1个元素放在其他某个位置(比如第k个),一共有n-1种放法;第二步,如果第k个元素放在第1个位置,那么有D(n-2)种放法;否则,有D(n-1)种放法。

综上,D(n) = (n-1) [D(n-2) + D(n-1)]。

特殊地,D(1) = 0,D(2) = 1。

然后,利用这个递推公式,可以得到n个元素的错排公式(具体推导过程略):当n取2,3,4,5,6…的时候,D(n)的值分别为:1,2,9,44,265…错排公式可以进一步简化成:D(n) = [n!/e+0.5],其中e是自然对数的底数,[ ]是向下取整符号。

这个问题叫做错排问题。

最早被尼古拉·伯努利和欧拉研究,因此历史上也称为伯努利-欧拉的装错信封的问题。

利用上述简化公式,本文开头的问题可以轻松解决了。

所求概率为:P=[n!/e+0.5]/n!=[13!/e+0.5]/13!=0.36787944116…已经非常接近1/e(=0.36787944117…)。

接下来很自然的想到一个问题,P是否以其为极限呢?我们看到,从n=2起,随着n的增大,P似乎总是越来越接近1/e的:从直觉上也是这样——随着n的增大,+0.5与取整符号的作用越来越不明显,整个式子便越来越接近(n!/e)/n!=1/e。

[转载]伯努利装错信封问题

[转载]伯努利装错信封问题

[转载]伯努利装错信封问题原⽂地址:伯努利装错信封问题作者: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);}总结:这种递归格式很值得推崇,代码的模块化显然也是这⼏个代码的共同的优势所在,。

【笔试备考】 可以秒杀的排列组合题型

【笔试备考】 可以秒杀的排列组合题型

可以秒杀的排列组合题型根据国考分数的统计分析可知数学运算得分率非常的低,大部分考生认为数学运算考试范围太广,难度大,甚至直接蒙。

数量关系考点看似杂乱,做题花的时间也很长,其实对于数学运算的每种题型都有解题技巧,甚至部分题型有相应的秒杀技巧。

在这里,向广大学员分享2017年国家公务员考试排列组合问题中秒杀题型,供广大考生复习参考。

对于排列组合问题,首先我们要认真审题,抓住问题的本质特征,再用对应的技巧解题.排列组合题型有以下2种题型可以秒杀!题型一:错位重排错位重排问题是一种比较难理解的复杂的数学模型问题,是伯努利和欧拉在错装信封时发现的,因此又叫做伯努利-欧拉装错信封问题。

表述为:编号是1、2、…、n 的n 封信,装入编号为1、2、…、n 的n 个信封,要求是每封信和信封的编号不同,问共有多少种方法? 答案:D(n)=[D(n-1)+D(n-2)]×(n-1),其中D(1)=0,D(2)=1,根据递推公式算出D(n)。

【例】相邻的4个车位中停放了4辆不同的车,现将所有车开出后再重新停入这4个车位,要求所有车都不得停在原来的车位中,则一共有多少种不同的停放方式?A.9B.12C.14D.16【解析】方法一:根据错位排列的公式,直接得到4个车位的错位排列为种。

因此,本题选择A 选项。

方法二:假设A 、B 、C 、D 四辆车,停在一、二、三、四十个车位,最开始的排列为ABCD ,则A 车错位后有三种选择,假设A 车停在第二个车位,则B 车有三种选择,B 车选择后,C 、D 两车的停车方法只有一种,故总的方法数为3×3×1=9种。

因此,本题选择A 选项。

备注:方法二比较复杂,如果记住方法和技巧就可以直接秒杀咯。

题型二:插空法特例题目特征:n 个相同的物品分给m 个人,每人至少分得1个物品,则共有多少种分配方法呢?49D我们的答案是:--11m n c备注:对于题型特征各位考生需要注意的有2点:相同的物品和每人至少分1个物品。

错排公式——精选推荐

错排公式——精选推荐

错排公式先来看⼀个问题:⼀个秘书打好4个封信和相应的四个信封,现在秘书将这四封信随机装⼊四个信封当中(每个信封装⼀封信),问每个信封都被装⼊原来和⾃⼰不对应的信封的装法⼀共有多少种?答案是9种。

⾸先我们将这个⽂件进⾏进⼀步简化,假设1封信,1个信封:0种(不可能放错)2封信,2个信封:1种(交换)3封信,3个信封:2种(假设三个字母为ABC,则完全错排的组合为BCA和CAB)则可以对该题进⾏分类讨论,分别讨论4个信封中1,2,4个信封放对的情形1个信封放对: (41)∗2=8 (从4个信封中挑1个,其他3个错排)2个信封放对:(42)∗1=6 (从4个信封中挑2个,其他2个错排)4个信封放对:1总的排列为24种(4!),则剩下的排列数(24-8-6-1=9)就是答案现在我们将这个问题进⼀步推⼴,问,有n个信封和n封信,装法不变,仍然要求第i封信不能装到第i个信封当中(i = 1,2……,n),问共有多少种装法?这个问题的原理,可以追溯到错排问题和错排公式。

错排问题,是组合数学中的问题之⼀。

考虑⼀个有n个元素的排列,若⼀个排列中所有的元素都不在⾃⼰原来的位置上,那么这样的排列就称为原排列的⼀个错排。

n个元素的错排数记为D(n)。

研究⼀个排列错排个数的问题,叫做错排问题或称为更列问题。

错排问题最早被尼古拉·伯努利和欧拉研究,因此历史上也称为伯努利-欧拉的装错信封的问题。

这个问题有许多具体的版本,如在写信时将n封信装到n个不同的信封⾥,有多少种全部装错信封的情况?⼜⽐如四⼈各写⼀张贺年卡互相赠送,有多少种赠送⽅法?⾃⼰写的贺年卡不能送给⾃⼰,所以也是典型的错排问题。

解决⽅法1.利⽤递推公式解决我们记n个元素的错排数为D(n),将数和数的位置的对应关系表⽰如下位置123...n数从n个数中任意挑⼀个数m,将m放在位置l上分两种情况讨论l放在m的位置上在这种情况下,数和位置的关系变为位置123...l...m...n数m ll,m的位置关系确定了,剩下1,2,3,……,l-1,l+1,……,m-1,m+1共n-2个数进⾏错排。

第34课装错信封 公式求解+排列组合+命题探秘第二版一题一课

第34课装错信封 公式求解+排列组合+命题探秘第二版一题一课

为( )
}
z气.气16
,_,1
0. =一
(-,1
七.一下一
r\1
且夕・ 几不


如考虑给定 10 个信封和相对应的 1。封信中’恰好有 7 封装对’其余 3 封都装错的投}
放方法’可分两步:第一步是恰好使两个球的编号与盒子的编号相同’有 ('-'71。种方法;第二}
步是使余下的三个盒子中所放的球的编号均与盒子的编号不同’即“装错信封问题”n=3
众错仕的A!,方 注 法2I有-r
D了、4=一=AA22

AA 麦工十.(/一11)、44
种跳~,一口因一. 此L~li全一人装、4r1~-错1~4井4的1~ 占- .4概人~/-.了名4率“。为~'~ ‘~』飞A峨:一一
z飞A4l.丁 十(、一一‘1)I4
4!
一少9.一 24
恰好只有一封信装错为不可能事件,概率为 0.
(3)偶数在偶数位置上,但都不在原来的位置上,实质上是“装错信封问题”n 一 4 时 的情形,共有 D4 一 9 种排法;同理,奇数在奇数位置上,但也都不在原来的位置上也有 D4 ==9 种排法,故本题的不同排法有(D」)竺一 81 种.
(4)用排除法.对 8 个数进行全排列,有 A聋种排法,再减去没有数在原来的位置上的 排法即可.8 个数中没有数在原来的位置上,是“装错信封问题”n 一 8 时的情形,共有 D8 种排法.故本题的不同排法有 A::D-8 = 40320 一 14833 一 25487 种.
时的情形 ’有 D3 = A;一 1= 2 种方法 ’所以投放方法共有 C;0D3 = 120 X 2 = 240 种’据}
此可编题 3
}

【数资】排列组合-隔板法、错位重排与环形排列 (讲义+笔记)

【数资】排列组合-隔板法、错位重排与环形排列  (讲义+笔记)

【数资】排列组合-隔板法、错位重排与环形排列(讲义)【例 1】(2014 四川)将 7 个大小相同的桔子分给 4 个小朋友,要求每个小朋友至少得到 1 个桔子,一共有几种分配方法( )?A.14B.18C.20D.22【例 2】(2019 湖北武汉事业单位)小明要将 30 个一模一样的玩具球放入 3 个不同颜色的桶里面,每个桶至少放 9 个玩具球,问一共有多少种不同的放法? ( )A.12B.11C.10D.9【例 3】(2013 年陕西)某领导要把 20 项任务分配给三个下属,每个下属至少要分得 3 项任务,则共有( )种不同的分配方式。

A.28B.36C.54D.78【例 4】(2014 广州)某办公室接到 15 份公文的处理任务,分配给甲、乙、 丙三名工作人员处理。

假如每名工作人员处理的公文份数不得少于 3 份,也不得多于 10 份,则共有多少种分配方式( )?A.15B.18C.21D.28【例 5】(2015 黑龙江)某单位共有 10 个进修的名额分到下属科室,每个科 室至少一个名额,若有 36 种不同分配方案,问该单位最多有多少个科室?A.7B.8C.9D.10【例 6】(2011 浙江)四位厨师聚餐时各做了一道拿手菜。

现在要求每个人去品尝一道菜,但不能尝自己做的那道菜。

问共有几种不同的尝法()?A.6 种B.9 种C.12 种D.15 种【例 7】(2014 北京)相邻的 4 个车位中停放了 4 辆不同的车,现将所有车开出后再重新停入这 4 个车位,要求所有车都不得停在原来的车位中,则一共有多少种不同的停放方式()A.9B.12C.14D.16【例 8】(2015 山东)某单位从下属的 5 个科室各抽调了一名工作人员,交流到其他科室,如每个科室只能接收一个人的话,有多少种不同的人员安排方式?A.120B.78C.44D.24【例 9】(2017 年国考)某集团企业 5 个分公司分别派出 1 人去集团总部参加培训,培训后再将 5 人随机分配到这 5 个分公司,每个分公司只分配 1 人。

至少有一封信装对的概率

至少有一封信装对的概率

至少有一封信装对的概率基本事件数为n至少有一封装对的对立事件是没有一封信装对即n的全错位排列,也就是n!(1-1\/1!1\/2!1\/3!(-1)^n\/n!故P(至少有一封装对)=1-[n!(1-1\/1!1\/2!1\/3!(-1)^n\/n!n1\/1!1\/2!1\/3!(-1)^(n+1)\/n!我写了十封信,也写了十个信封,我随意把十张信纸装入十个信封,至少有一封装对的可能性有多大63.2%可以转化为著名的信封问题(错位排列)一共A(10,10)中排法只需求出没有1对装对的排法就是标准的错位排列了这是著名的信封问题,很多著名的数学家都研究过瑞士数学家欧拉按一般情况给出了一个递推公式:用A、B、C…表示写着n位友人名字的信封,a、b、c…表示n份相应的写好的信纸。

把错装的总数为记作f(n)。

假设把a错装进B里了,包含着这个错误的一切错装法分两类:(1)b装入A里,这时每种错装的其余部分都与A、B、a、b无关,应有f(n-2)种错装法。

(2)b装入A、B之外的一个信封,这时的装信工作实际是把(除a之外的)份信纸b、c…装入(除B以外的)n-1个信封A、C…,显然这时装错的方法有f(n-1)种。

总之在a装入B的错误之下,共有错装法f(n-2)+f(n-1)种。

a装入C,装入D…的n-2种错误之下,同样都有f(n-2)+f(n-1)种错装法,因此:f(n)=(n-1){f(n-1)+f(n-2)}这是递推公式,令n=1、2、3、.10f(1)=0 f(2)=1 f(3)=2 f(4)=9 f(5)=44 f(6)=265 f(7)=854f(8)=14833 f(9)=133496 f(10)=1334961所以概率=1-f(10)\/A(10,10)=63.2%另外一种算法就是用容斥原理直接算用A1,A2,…,An表示以下事件:Ak表示第k封信放在本来的信封上。

求出A1∪A2∪…∪An的概率然后用1减去它就是所需答案了那么,根据容斥原理,有:P(A1∪A2∪…∪An)=P(A1)+P(A2)+…+P(An)-(P(A1∩A2)+P(A1∩A3)+…+P(A(n-1)∩An))(注意:求和取遍所有不同的Ai∩Aj)+(P(A1∩A2∩A3)+P(A1∩A2∩A4)+…+P(A(n-2)∩P(A(n-1))∩P(An)))(注意:求和取遍所有不同的Ai∩Aj∩Ak)+…+(-1)^(n-1)P(A1∩A2∩…∩An)(n-1)!n\/n!(n-2)!n!C_n^2+(n-3)!n!C_n^3+…+(-1)^(n-1)\/n!1-1\/21\/3(-1)^(n-1)\/n即至少有一对装对的概率就是1-1\/21\/3(-1)^(n-1)\/n这里取n=10 故概率=63.2%参考资料http:\/\/\/question\/6099980.htmlhttp:\/\/\/question\/30469010.html?si=4 概率题。

错排问题——精选推荐

错排问题——精选推荐

错排问题
错排问题是组合数学中的问题之⼀。

考虑⼀个有n个元素的排列,若⼀个排列中所有的元素都不在⾃⼰原来的位置上,那么这样的排列就称为原排列的⼀个错排。

n个元素的错排数记为D n。

研究⼀个排列错排个数的问题,叫做错排问题或称为更列问题。

最早研究错排问题的是尼古拉·伯努利和欧拉,因此历史上也称为伯努利-欧拉的装错信封的问题。

这个问题有许多具体的版本,如在写信时将n封信装到n个不同的信封⾥,有多少种全部装错信封的情况?⼜⽐如四⼈各写⼀张贺年卡互相赠送,有多少种赠送⽅法?⾃⼰写的贺年卡不能送给⾃⼰,所以也是典型的错排问题。

对于D n,第⼀个元素不能在第⼀个位置上故有n−1种类情况。

假设第⼀个元素在k的位置上,有两种情况
第k个元素在第⼀个上⾯,则此时的情况为n−2个元素的错排
第k个元素不在第⼀个上⾯,则此时的情况为剩下的n−1个元素的错排
所以我们得到了⼀个递推公式,D n=(n−1)×(D n−1+D n−2),(n>2)
常见的⼏个值
D0=0D6=265
D1=0D7=1854
D2=1D8=14833
D3=2D9=133496
D4=9D10=1334961
D5=44D11=14684570
Processing math: 100%。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

装错信封问题即欧拉错排问题
中“信封装错问题”的数学模型及解法;
有人写了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。

相关文档
最新文档