题目:疯狂的乘客
飞机上的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%