分享

python3与概率论 生日相同“同生缘”模型

 昵称11935121 2018-07-13

题目:假设每人的生日在一年365天是等可能的,那么N个人有任意两人生日相等的概率是多大。

python3与概率论 生日相同“同生缘”模型

解答:

首先,算出N个人生日的所有可能性,也就是样本空间,为N个365相乘,即365**N,我们记这个数为A。

接着算出任何两个人生日的各不相同事件的样本数量,365*364*363*...*(365-N+1),我们记这个数为B。

然后通过算补集的方法,1-B/A 得出N个人有任意两人生日相等的概率。

python3实现:

算法十分清晰,我们来看一下代码:

python3与概率论 生日相同“同生缘”模型

我们这里使用了可变参数,可以一次输入多种人数情况下概率的情况。下面是返回的字典,人数和概率对应的情况。

python3与概率论 生日相同“同生缘”模型

我们来看格式化输出后结果

python3与概率论 生日相同“同生缘”模型

我们看到50个人中有两个人生日相同的概率达到了97%,这就是为什么一个50个人的班级几乎一定会有两个人生日相同,以前感到很惊奇的“同生缘”,其实是很平常的情况。这就是那句谚语的体现:seeing is not believing。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多