3本不同的语文书,4本不同的数学书,5本不同的英语书随机排成一列,求同学科的书不在一起的概率
请详细讲一下步骤 注意,同学科的书不在一起是指只要是同学科的书就不相邻。 展开
首先,书不同是个多余条件,完全可以当做3本相同的语文书,4本相同的数学书,5本相同的英语书。至于为什么可以这样,我可以通俗的解释一下,书不同时的任何一个放书状态,都包含在书相同的放书状态中;而且完全组成之。这种解释不知你看得懂不。反正,当相同的书处理。
从左往右排
总的排列数:C(12,3)*C(9,4)
同科书不在一起的排列数:最快方法是穷举,途径是用函数递归。
设语文x本,数学y本,英语z本,构成同科不在一起的排列数为f(x,y,z).
通过画出二叉树,
可以总结出,f(x,y,z) =f(x,y-1,z-1)+f(x-1,y-1,z-1,第一本不能排语)
+f(x-1,y,z-1)+f(x-1,y-1,z-1,第一本不能排数)
+f(x-1,y-1,z)+f(x-1,y-1,z-1,第一本不能排外)
=f(x,y-1,z-1)+f(x-1,y,z-1)+f(x-1,y-1,z)
+2*f(x-1,y-1,z-1)
这就是我推出来的迭代公式。
f(3,4,5)=588;
所以概率=f(3,4,5)/【C(12,3)*C(9,4)】=7/990
你可以在程序结果里看到当书本数较小时的结果,可以手动验证。
附录:
一下是求f的c程序
#include <stdio.h>
int f(int a,int b,int c)
{ int x,y,z;
if((a==0)&&(b==0)&&(c==0))
return(0);
else if((a==0)&&(b==0)&&(c==1))
return(1);
else if((a==0)&&(b==1)&&(c==0))
return(1);
else if((a==1)&&(b==0)&&(c==0))
return(1);
else if((a==0)&&(b==1)&&(c==1))
return(2);
else if((a==1)&&(b==1)&&(c==0))
return(2);
else if((a==1)&&(b==0)&&(c==1))
return(2);
else if((a==1)&&(b==1)&&(c==1))
return(6);
else if(b==0)
{if((a==c+1)||(c==a+1))
return(1);
else
if(a==c) return(2);
else return(0);
}
else if(a==0)
{if((b==c+1)||(c==b+1))
return(1);
else
if(b==c) return(2);
else return(0);
}
else if(c==0)
{if((b==a+1)||(a==b+1))
return(1);
else
if(a==b) return(2);
else return(0);
}
else
{
x=a-1;if(x<0)x=0;
y=b-1;if(y<0)x=0;
z=c-1;if(z<0)x=0;
return(f(a,y,z)+f(x,b,z)+f(x,y,c)+2*f(x,y,z));
}
}
void main()
{
int m,q,w,e;
for(q=0;q<4;q++)
for(w=0;w<5;w++)
for(e=0;e<6;e++)
{ m=f(q,w,e);
printf("f(%d,%d,%d)=%d\n",q,w,e,m);}
}
定义运算时 A53表排列先下标后上标
即A53=5*4*3
C53=5*4*3/3*2*1
先算所有的排法为:12!
先排语数(注:AAA记为A 3
A AA记为A 1+2
AA A归入 A 1+2
同理 B BBB (BBB B)记为 B 1+3
BB BB 记为 2+2
A3下分类B4 (AAABBBB、BBBBAAA),(则5个C必插在AAA BBBB的5个空里)
A33* A44* A22* A55
(A22表AAA BBBB顺序)
A3下分类B1+3 A33* A43* A22* C41*A55
(C41表4个C必插在AAA BBB的4个空里,在选一个空)
A3下分类B2+2 A33* A42* A22* C41*A55
(A42* A22表BB BB本身就体现了先后顺序,不太好理解,可追问)
以下不再多做解释
A2+1下B4 A32*A22* A44* C41*A55
A2+1下B1+3 A32*A22* A43* C21*C21* C52*A55
A2+1下B2+2 A32*A22* A42* A22*C21* C52*A55
A2+1下B1+1+2 A32*A22* A42* A33* C63*A55
A1+1+1下B1+3 A33* A43* A22* C63*A55
A1+1+1下B2+2 A33* A42* A22* C63*A55
A1+1+1下B1+1+2A33* A42* A33* C74*A55
穷举结束!!
作和/12!=61/3960
绝对标准答案,我也给学生出过,哈~~~~~~~~~
先算所有的排法为:12!
要求不在一起,
①先是5本英语书全排列有5!种,然后,由于要求同学科的不在一起,所以,4本不同的数学书插在5本英语书的中间的4个空中,有4!种,
如 CBCBCBCBCBC
这样就是9本书,形成了10个空,再从10个空中取出3个空插,3本语文书,有A(3,10)种。所以,共有5!*4!*A(3,10)=2073600种,
②把两本英语书绑一起,之间不允许插数学书,然后,不允许其它的两本英语书放在一起。
如CBCBCBCCB 有A(2,5) *4!A(4,5),这样排后,再排语文书时,有1本语文书必须排CC之间,有3*A(2,9)种。所以,共有A(2,5) *4!*A(4,5)*3*A(2,9)=12441600种。
③把4本英语书,分2组两本、两本绑一起,之间不允许插数学书,然后,不允许,相同种书在一起。
如BCBCCBCCB 有A(2,5)*A(2,3)*3!*4!,这样,再插,语文书有A(2,3)*8种,所以,共有A(2,5)*A(2,3)*3!*4!*A(2,3)*8=829440种
④把3本英语书绑在一起,之间不允许插数学书,其它不允许同学科书在一起,如BCCCBCBCB 有4!*A(3,5)*A(3,5),再插语文书,有A(2,3)*8种,所以,共有
4!*A(3,5)*A(3,5)*A(2,3)*8=4147200种
⑤把3本英语书绑在一起,另外2本书放在一起,其它不允许同学科书在一起,
如BCCCBCCBB,这是不可能的,这样把同学科的书隔开,需要4本语文书。
超过3本英语书放在一块,就更不可能了。
⑥把4本英语书,分2组两本、两本绑一起,4本数学书,选2本绑在一起,其它不允许同学科书在一起,如
BCCBCCBBC 有A(2,5)*A(2,3)*A(2,4)*3!*A(3,4),再插语文书,再乘以3!,有1244160种
⑦把3本英语书绑在一起,4本数学书,选2本绑在一起,其它不允许同学科书在一起,如BCCCBCBBC ,再插语文书有A(3,5)*A(2,4)*3!*A(3,4)*3!=622080种
所以,共有2073600+12441600+829440+4147200+1244160+622080=21358080
所以,概率是
21358080/12!=103/2310
所有的书在一起全排列是有(3+4+5)!=12!中排列,因为每学科的书也都是不同的
要算同学科的书不在一起的概率,我们可以先算同学科的书放在一起的概率P,最后用1-P算一下就可以了
首先,但从学科的排列来说,总共有A,B,C三种学科,它就有3!=6种排列情况
其次,每种学科都是不同的书所以它还有不同的顺序,eg:A有A1,A2,A3三种书,里面的排列就有3!=6种,同理,B学科就有4!种,C学科有5!种 三种学科内的排序总共有的可能数目是3!* 4!* 5!种(专业点来说,它属于分布,咱算的时候要连×)
上面的两步合起来就是同学科出现在一起的排列的可能数 6*(3!* 4!* 5!)
P=[6*(3!* 4!* 5!)]/(12!)=1/4620
所以不出现在一起的概率是1-(1/4620)=4619/4620
我的理解是这样的,可能计算过程因粗心有所疏忽,但愿能帮助到你
然后再来解决这个问题
我记得高中学生学习过的,在《集合》那部分,就是计算并集中元素个数的知识。