博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面试过程中有趣的概率问题(坐飞机、扑克牌)
阅读量:5149 次
发布时间:2019-06-13

本文共 1771 字,大约阅读时间需要 5 分钟。

扑克牌

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

#include
using 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,这算是神奇的不等式吧

100人坐飞机,第一个乘客在座位中随便选一个坐下,第100人正确坐到自己坐位的概率是?

他们分别拿到了从1号到100号的座位,这些乘客会按号码顺序登机并应当对号入座,如果他们发现对应号座位被别人坐了,就会在剩下空的座位随便挑一个坐.现在假设1号乘客疯了(其他人没疯),他会在100个座位中随便选一个座位坐下,问:第100人正确坐到自己坐位的概率是多少?(也可推广到n名乘客n个座位的情况)
 
其实是一个递归问题
1名乘客1个位置 100%
2名乘客2个位置 你的状态和第一个人有关,50%
3名乘客3个位置 第一个坐对了,那就是回到了状态2
         第一个人占到你的位置
         第一个人坐到另一个人的位置,还是状态2  这个概率是多少呢,就是(1/6+1/6)*3,还是50%
4一直往复下去还是如此
看起来你只和第一个人有关,第一个人第 [公式] 个人登机时,他的座位被占的概率是 [公式] 
 
 
不均匀的硬币怎么让两个人等概率呢,可以扔两次,相同了就再来,先反或先正为胜利。能粘的话粘起来也是可以的
 
 
 

转载于:https://www.cnblogs.com/BobHuang/p/11303735.html

你可能感兴趣的文章
淌淌淌
查看>>
web页面实现指定区域打印功能
查看>>
win10每次开机都显示“你的硬件设置已更改,请重启电脑……”的解决办法
查看>>
macOS10.12允许所有来源设置
查看>>
C++有关 const & 内敛 & 友元&静态成员那些事
查看>>
函数积累
查看>>
python搜索引擎(转)
查看>>
关于height,line-height导致的样式混乱的问题
查看>>
《SEO实战密码》读后一点感受
查看>>
bzoj 4815 [Cqoi2017]小Q的表格——反演+分块
查看>>
Swift 入门之简单语法(六)
查看>>
shim和polyfill有什么区别
查看>>
Failed to load the JNI shared library “E:/2000/Java/JDK6/bin/..jre/bin/client/jvm.dll
查看>>
〖Python〗-- IO多路复用
查看>>
栈(括号匹配)
查看>>
Java学习 · 初识 面向对象深入一
查看>>
源代码如何管理
查看>>
vue怎么将一个组件引入另一个组件?
查看>>
bzoj1040: [ZJOI2008]骑士
查看>>
LeetCode 74. Search a 2D Matrix(搜索二维矩阵)
查看>>