扑克牌
54张扑克,平均分给三人,大小王在一个人手里的概率
这个可以直接组合数计算,我们把这两张牌拿出来,就是16,18,18
16的那个人就相当于去52张牌里拿十二张,因为两个人都是18,所以要去重
可以求得分子为C(52,16)*C(36,18)*C(18,18)*3
同理求的分母为C(54,18)*C(36,18)*C(18,18)
然后根据组合数公式,也就是18*17*3/(54*53)=17/53
#includeusing namespace std;const int MD=1e9+7,N=2e6+5;int f[N],v[N];void Init(){ v[0]=v[1]=f[0]=f[1]=1; for(int i=2; i n) return 0; return 1LL*f[n]*v[m]%MD*v[n-m]%MD;}int main(){ Init(); int n,m; while (cin>>n>>m)cout< <<"\n"; return 0;}
当然有些人就不想那样写组合数,分子写成C(52,18)*C(34,18)*C(16,16)*3也是可以的,只是通分没那么好看,数值都是一样的
还是以某人抽到大王为基准,而且还得抽到小王。大王可以出现在3×18的任意位置,小王也必须出现在相同的人手中,但不能出现在大王出现的那一轮(共17轮)。
即3×18×17 总共有3×18×53种情况,即小王不与大王相同位置。这是兔小弟的做法,我觉得也很巧妙哦扩展问题变成了,一个人拿20张,另两个人拿17张。hhhh斗地主的真实情况
地主当然概率要高些,但是具体是多少呢,我们可以看一下
分母比较简单,先写出分母C(54,20)*C(34,17)*C(17,17)*3
这三个人可能的牌是18 17 17和20 17 15
写出分子就是C(52,18)*C(34,17)*C(17,17)*3+C(52,20)*(32,15)*C(17,17)*6
约分可以算出来是0.434661,上面那个值是0.320755
第一个有同学觉得一眼看过去就是1/3,但是实际上去错误的
比如两副牌,有些人就觉得是1/2,其实是一个比1/2略小的数,16/53。
为什么会有这种情况呢,因为进行了占位,你这张牌有了就占去了那个位置,就不能直接乘上概率了
我们可以考虑6张牌分给两个人,这样算出来是2/5,其实公式就是(n/m-1)/(n-1)(n代表牌数,m代表分的堆数)
四个人,除去两张大小王剩下52张扑克牌。问红桃A和黑桃A同时被一个人拿到的概率,这个你很快算出来12/51了,隔壁还在自闭呢
但是你只要不平分或者不能平分就会出现烦人的约分问题,平分之前这个数肯定小于1/m,不平分之后肯定大于1/m,这算是神奇的不等式吧