笔试题之概率题

1 有一苹果,两个人抛硬币来决定谁吃这个苹果,先抛到正面者吃。问先抛这吃到苹果的概率是多少?

解答:

这种题目一看似乎答案就是1/2,但其实认真细想并没有那么简单。

给所有的抛硬币操作从1开始编号,显然先手者只可能在奇数(1,3,5,7…)次抛硬币得到苹果,而后手只可能在偶数次(2,4,6,8…)抛硬币得到苹果。设先手者得到苹果的概率为p,第1次抛硬币得到苹果的概率为1/2,在第3次(3,5,7…)以后得到苹果的概率为p/4(这是因为这种只有在第1次和第2次抛硬币都没有抛到正面(概率为1/4=1/2*1/2)的时候才有可能发生,而且此时先手者在此面临和开始相同的局面)。所以可以列出等式p=1/2+p/4,p=2/3。

 

其实上面的可以这么理解,我们将过程分为第一次和剩下的部分。那么第一次是1/2,后面的就是第一次都没有拿到,所以为1/4,所以p = 1/2 + p/4

 

还可以是第一次A拿到的为1/2,B拿到的为1/4,后面都是重复这样的过程,所以结果为2/3

2 一条长度为1的线段,随机在其上选2个点,将线段分为3段,问这3个子段能组成一个三角形的概率是多少?

这种题一般都是转换为二位空间的点。难点在于找到样本空间的总数目。我们设三个线段分别为x,y,1-x-y.

(1)样本空间。线段分为3段。所以条件为 0<x<1, 0<y<1, 0<1-x-y<1

(2)组成三角形的条件为任意两边之和大于第三边。

(3)两者相除。结果为1/4

 

3 一副扑克牌54张,现分成3等份每份18张,问大小王出现在同一份中的概率是多少?

解答1:

54张牌分成3等份,共有M=(C54取18)*(C36取18)*(C18取18)种分法。

其中大小王在同一份的分法有N=(C3取1)*(C52取16)*(C36取18)*(C18取18)种。

因此所求概率为P=N /M=17/53。

解答2:

不妨记三份为A、B、C份。大小王之一肯定在某一份中,不妨假定在A份中,概率为1/3。然后A份只有17张牌中可能含有另一张王,而B份、C份则各有18张牌可能含有另一张王,因此A份中含有另一张王的概率是17/(17+18+18)=17/53。

也因此可知,A份中同时含有大小王的概率为1/3 * 17/53。

题目问的是出现在同一份中的概率,因此所求概率为3*(1/3 * 17/53)=17/53。

4 由随机函数rand7构造rand10 

已知有个rand7()的函数,返回1到7随机自然数,让利用这个rand7()构造rand10()随机1~10。

 

 

【试题分析】

1)要保证rand10()在整数1-10的均匀分布,可以构造一个1-10*n的均匀分布的随机整数区间(n为任何正整数)。假设x是这个1-10*n区间上的一个随机整数,那么x%10+1就是均匀分布在1-10区间上的整数。

 

2)接下来利用(rand7()-1)*7+rand7()构造出均匀分布在1-49的随机数:

 

首先rand7()-1得到一个离散整数集合{0,1,2,3,4,5,6},其中每个整数的出现概率都是1/7。那么(rand7()-1)*7得到一个离散整数集合A={0,7,14,21,28,35,42},其中每个整数的出现概率也都是1/7。而rand7()得到的集合B={1,2,3,4,5,6,7}中每个整数出现的概率也是1/7。显然集合A和B中任何两个元素组合可以与1-49之间的一个整数一一对应,也就是说1-49之间的任何一个数,可以唯一确定A和B中两个元素的一种组合方式,反过来也成立。由于A和B中元素可以看成是独立事件,根据独立事件的概率公式P(AB)=P(A)P(B),得到每个组合的概率是1/7*1/7=1/49。因此(rand7()-1)*7+rand7()生成的整数均匀分布在1-49之间,每个数的概率都是1/49。

 

3) 由于出现的每个数的出现都是相对独立的,所以剔除41-49后剩下1-40也应该是均匀分布。

int rand10() {
    int x = 0;
    do {
        x = (rand7()-1)*7+rand7();
    }while(x > 40);
    return x % 10 + 1;
}

 

posted on 2015-08-23 17:54  月下之风  阅读(2466)  评论(0编辑  收藏  举报

导航