【日常实习】3-28笔试

笔试情况

投递的后端岗位,笔试一共4道编程题,120min。
前两道题目比较简单,基本按照题目要求,使用很直接的思路就能做出来,主要看写代码熟练程度。
第三道题目是数学概率题目,第一次遇见没想清楚怎么做。最后直接输出了0.5,通过了一半的样例。(太菜了只能骗分)
第四道题目描述的是扑克牌做游戏。我在理解题意上出了问题,花了一个小时才发现理解错了,最后时间来不及了只考虑一种情况,居然也通过了一半的样例。

数学概率题

我主要想记录一下第三道题目。

有三个人A,B和主持人,他们在玩一个猜数字游戏:
现在有1~n一共n个数字,目标是找到其中的某个数字k。A和B轮流从1~n个数字中选一个数字,然后主持人会告诉他们数字大了小了还是相等。如果刚好选到了数字k,则那一方获胜。
假设A和B都是理性人,A开始选数字,他获胜的概率多大?

接下来一步一步分析情况:

  • 【第一轮,第一次】A选数字,这时他选任意的数字,获胜概率都是 1 n \frac{1}{n} n1,因为A是理性人,既然这一次他自己的获胜概率固定了,那他就要尽可能减小B获胜的概率。要怎么做呢?A应该要选取最边上的数字,这样就算他没获胜,接下来B选取数字时的获胜概率也不过是 1 n − 1 \frac{1}{n-1} n11而已。如果A一开始选取的数字是中间数字,比如 n / 2 n/2 n/2,那么当主持人宣布目标数字比这个数字小之后,B就可以在区间 [ 1 , n / 2 − 1 ] [1, n/2-1] [1,n/21]里面选取数字,这样B获胜的概率就会有 1 n / 2 − 1 \frac{1}{n/2-1} n/211
  • 【第一轮,第二次】假设A没有获胜,B选数字。因为A选的数字在最边上,无论主持人说“大了”还是“小了”,都不会给B更多有效的信息,他也只能从剩下的 n − 1 n-1 n1个数字中随机选取。他要怎么选呢?和A一样,既然自己的概率固定不变了,就要尽可能降低对手获胜的概率。因此B也要选择最边上的数字。

就这样,A和B作为理性人,每次都会选择最边上的数字,直到有人猜出了正确的数字。以A的角度来看,我们计算他每一轮获胜的概率:

  • 【第一轮】A获胜的概率是 1 n \frac{1}{n} n1
  • 【第二轮】假设第一轮A和B都没有获胜,他们已经尝试了2个数字,因此这个概率是 1 − 2 n 1-\frac{2}{n} 1n2,那么第二轮A获胜的概率是:( 1 − 2 n 1-\frac{2}{n} 1n2) 1 n − 2 \frac{1}{n-2} n21 = 1 n \frac{1}{n} n1
  • 【第三轮】假设第一轮和第二轮A和B都没有获胜,他们已经尝试了4个数字,因此这个概率是 1 − 4 n 1-\frac{4}{n} 1n4,那么第三轮A获胜的概率是:(1- 4 n \frac{4}{n} n4) 1 n − 4 \frac{1}{n-4} n41 = 1 n \frac{1}{n} n1

找到规律发现每一轮A获胜的概率都是 1 n \frac{1}{n} n1,那只要把每一轮获胜概率加起来就是A整体获胜的概率了。

如果n是偶数,那一共会有 n / 2 n/2 n/2轮,因此A的获胜概率就是 1 2 \frac{1}{2} 21
如果n是奇数,由于A开始选数字,因此A和B最多玩 n − 1 2 \frac{n-1}{2} 2n1轮,然后A选取最后的数字并且获胜。这个概率计算是:( n − 1 2 \frac{n-1}{2} 2n1) 1 n \frac{1}{n} n1+(1- n − 1 n \frac{n-1}{n} nn1) = n + 1 2 n \frac{n+1}{2n} 2nn+1

A 获胜的概率 = { 1 2 , n是偶数 n + 1 2 n , n是奇数 A获胜的概率 = \begin{cases} \frac{1}{2}, & \text{n是偶数} \\ \frac{n+1}{2n}, & \text{n是奇数} \end{cases} A获胜的概率={21,2nn+1,n是偶数n是奇数

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值