C ++中的生日悖论

在概率部分,生日悖论是一个非常著名的问题。该问题的问题陈述表示为:

生日聚会上有几个人,有些人发生相同的生日碰撞。我们需要找到大概的数字。参加相同生日的生日聚会上的人数。

很有可能我们知道获得领先的机会与拥有一些硬币的机会相同是1/2,获得10个正面的机会是1/100或0.001。

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

两个人生日不同的机会是,

364/365,即非-年中的1-1 / 365。

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

P(different)= 1×(1-1 / 365)×(1-2 / 365)×(1-3 / 365)×(1-4 / 365)......

因此P(same)= 1-P(different)

例如,

拥有相同生日的概率为0.70的人数。

N =√2×365×log(1-1 / p)。

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

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

示例

#include<bits/stdc++.h>
using namespace std;
int findPeople(double p){
   return ceil(sqrt(2*365*log(1/(1-p))));
}
int main(){
   printf("%d",findPeople(0.70));
}
输出结果
30