一个关于概率的面试题

题目:疯狂的乘客

飞机上的100个座位被分配给100个乘客,每个乘客拿到唯一的一个号码。乘客们按照如下方法找座位:第一个乘客随机选一个座位坐下,如果他坐错,其他乘客也随机挑位置。
问:第100个乘客有多大机会坐在自己的座位上?

from random import randint
n=100000
count=0
list=[]
for i in xrange(n):
    list=range(0,100)
    r=randint(0,99)
    if r==0:
        count+=1
    elif r==99:
        continue
    else:
        del list[r]
        for j in xrange(len(list)-1):
            m=randint(0,len(list)-1)
            if m==len(list)-1:
                break
            del list[m]
        if list[0]==99:
            count+=1                   
print '%f%%' %((float(count)/n)*100)

 一次执行结果:

>>>
2.001000%

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值