十里挑一和百里挑十拿個更優秀呢?
做個試驗,具體來比較一下十里挑一和百里的第十名哪個更優秀,參考代碼
def func1():
result = 1
for i in range(10):
tmp = random.random()
result = min(tmp, result)
return result
def func2():
index = 9
result = [1 for i in range(index + 2)]
for i in range(100):
tmp = random.random()
for j in range(index, -1, -1):
if(result[j] > tmp):
result[j + 1] = result[j]
else:
break
if result[j] > tmp:
result[j] = tmp
else:
result[j + 1] = tmp
return result[index]
num = 10000
count0 = 0
count1 = 0
for i in range(num):
a = func1()
b = func2()
if a < b:
count0 += 1
else:
count1 += 1
在這10000次試驗中,有65%的機率十里挑一戰勝百里第十。
多次測試實際上,十里挑一相當於百里第六(index = 6時,雙方概率接近50%)