神奇的37%法则

       还记得小学的时候,语文课本上有一篇课文“最长的麦穗”,是讲苏格拉底叫他的弟子选一颗最长的麦穗,这原本是一个哲学问题,我也一直深刻地记着那位哲学大师告诉我们的道理:最好的往往很难得到,要尽快选择一个相对好的,莫让机会一去不复返,直到我看到了这样一篇文章:http://www.guokr.com/article/6768/

没想到这样的问题中,尽然蕴藏着神奇的数学法则。

      为了验证文章中的数据,我写了一个小程序来进行试验,代码如下:

#!/usr/bin/env python
#-*-coding: UTF-8-*-

import random
import math

person = 30

married = {}
for i in range(1,person+1):
    married[i] = 0



top_k = int(round(person/math.e))

for i in xrange(1,10001):
    white_horse = range(1,person+1)
    random.shuffle(white_horse)
    best_in_k = max(white_horse[1:top_k])
    for n in white_horse[top_k: ]:
        if n > best_in_k:
            married[n] = married[n] + 1
            break
    else:
        married[n] = married[n] + 1

for i in range(1,person+1):
    print '%d\t\t%d' % (i, married[i])

实验结果与文中所述基本一致。

只可惜,文中所提到的对于37%的公式推导,鄙人未能看懂==

不过从公式可以知道,将x=1/e代入,解得p(k)=1/e,即随着n逐渐变大,这个概率会越来越趋近于37%。

欢迎大家交流与探讨!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值