有3个小球和两只杯子,将小球随机放入杯中,设X为有小球的杯子数,求X的概率分布?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有3个小球和两只杯子,将小球随机放入杯中,设X为有小球的杯子数,求X的概率分布?相关的知识,希望对你有一定的参考价值。
同题目!请详解,谢谢!
你可能是理解错了,不是说被子里的小球数量,而是有小球的杯子的数量!X只能等于1或者2,但是后面再怎么计算我就不知道了~~
小球和箱子
/* 将n个不同的球放入m个不同的盒子的方案数 m^n */ #include<iostream> #include<cstdio> #include<cstring> using namespace std; int n,m,a[1010],l; int main() { scanf("%d%d",&n,&m); int k=m; while(k) { a[++l]=k%10; k=k/10; } for(int i=2;i<=n;i++) { for(int j=1;j<=l;j++)a[j]=a[j]*m; for(int j=1;j<=l;j++) if(a[j]>9) { a[j+1]+=a[j]/10; a[j]=a[j]%10; } if(a[l+1])l++; } for(int i=l;i>=1;i--) printf("%d",a[i]); return 0; }
/* 将n个相同的球放入m个不同的盒子的方案数 x1+x2+...+xm=n 都加1 x1+x2+...+xm+m=n+m 每个解不为0 直接隔板法 C(m-1,m+n-1) */ #include<iostream> #include<cstdio> #include<cstring> using namespace std; int n,m; int main() { scanf("%d%d",&n,&m); int p=m-1; int q=m+n-1; int sum=1,div=1; for(int i=q;i>=q-p+1;i--) sum*=i; for(int i=1;i<=p;i++) div*=i; printf("%d\n",sum/div); return 0; }
/* 将n个相同的球放入m个相同的盒子的方案数 f[i][j]=f[i][j-i]+f[i-1][j]; */ #include<iostream> #include<cstdio> #include<cstring> using namespace std; int T,n,m,f[100][100]; int Dfs(int k,int p) { if(k==0||p==1)return 1; if(f[k][p])return f[k][p]; if(p>k)return Dfs(k,k); return Dfs(k,p-1)+Dfs(k-p,p); } int main() { scanf("%d",&T); while(T--) { memset(f,0,sizeof(f)); scanf("%d%d",&n,&m); printf("%d\n",Dfs(n,m)); } return 0; }
/* 将n个不同的球放入m个相同箱子里的方案数 F[i][j]=f[i-1][j-1]+f[i-1][j]*j; */ #include<iostream> #include<cstdio> #include<cstring> using namespace std; int n,m,f[100][100]; int main() { scanf("%d%d",&n,&m); f[0][0]=1; for(int i=1;i<=n;i++) for(int j=1;j<=i&&j<=m;j++) f[i][j]=f[i-1][j-1]+f[i-1][j]*j; printf("%d\n",f[n][m]); return 0; }
以上是关于有3个小球和两只杯子,将小球随机放入杯中,设X为有小球的杯子数,求X的概率分布?的主要内容,如果未能解决你的问题,请参考以下文章
将7个不同的小球放入4个不同盒子中,每个盒子都不空,则不同的方法中种数有
将n个完全相同的小球随机的放入N个盒子中,一共有多少中放法?请给出完全的推导过程@
将三个球随机的放入4个盒子中去,求任意三个盒子中各有一个球的概率!
有红、白、蓝三种颜色的小球各一个,它们除颜色外没有其它任何区别.