python生日悖论,Python的生日悖论

在概率部分,生日悖论是一个非常著名的问题。

问题陈述-生日聚会上有几个人,有些人发生相同的生日碰撞。我们需要在有相同生日的基础上找到一个生日聚会的大概人数。

很有可能,我们知道前进的机会是1/2,就好像我们有一些硬币一样,获得10个正面的机会是1/100或0.001。

让我们了解一下这个概念。

两个人生日不同的机会为$$\ frac {364} {365} $$,这是在非year年中的$$\ lgroup1- \ frac {1} {365} \ rgroup $$。

因此,我们可以说具有特定生日可能性的第一个人为“ 1”,而对于其他人而言,这将是不同的,即,

P(different) = $$1 \ times \ lgroup1- \ frac {1} {365} \ rgroup \ times \ lgroup1- \ frac {2} {365} \ rgroup \ times \ lgroup1- \ frac {3} {365} \ rgroup \ times \ lgroup1- \ frac {4} {365} \ rgroup ... $$

因此,

P(same) = 1- P(different)

例如,具有相同生日的人的概率为0.70。

N =√2×365×对数(1-1 / p)

N =√2×365×log(1-1 / 0.70)= 30

因此,总的近似值为。相同生日的人是30岁。

示例

import math

def findPeople(p):

return math.ceil(math.sqrt(2*365*math.log(1/(1-p))))

print(findPeople(0.70))输出结果

运行上面的代码将生成如下输出:

30

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值