题目:假设每人的生日在一年365天是等可能的,那么N个人有任意两人生日相等的概率是多大。 解答: 首先,算出N个人生日的所有可能性,也就是样本空间,为N个365相乘,即365**N,我们记这个数为A。 接着算出任何两个人生日的各不相同事件的样本数量,365*364*363*...*(365-N+1),我们记这个数为B。 然后通过算补集的方法,1-B/A 得出N个人有任意两人生日相等的概率。 python3实现: 算法十分清晰,我们来看一下代码: 我们这里使用了可变参数,可以一次输入多种人数情况下概率的情况。下面是返回的字典,人数和概率对应的情况。 我们来看格式化输出后结果 我们看到50个人中有两个人生日相同的概率达到了97%,这就是为什么一个50个人的班级几乎一定会有两个人生日相同,以前感到很惊奇的“同生缘”,其实是很平常的情况。这就是那句谚语的体现:seeing is not believing。 |
|
来自: 昵称11935121 > 《未命名》