생일 역설은 확률 부분에서 아주 유명한 문제입니다. 이 문제의 문제 설명은 다음과 같이 명시됩니다.
생일 파티에는 여러 사람이 있고 일부는 같은 생일 충돌을 겪고 있습니다. 대략적인 번호를 찾아야 합니다. 생일이 같다는 이유로 생일 파티에 참석한 사람들의 수
앞서 나갈 확률이 1/2이라는 것을 알고 있는 확률은 동전이 몇 개 있는 것과 같으며 앞면이 10개 나올 확률은 1/100 또는 0.001입니다.
개념을 이해합시다.
두 사람의 생일이 다를 확률은,
364/365는 윤년이 아닌 해의 1-1/365입니다.
따라서 특정 생일의 확률을 가진 첫 번째 사람은 '1'이고 다른 사람의 경우에는 다릅니다.
P(다름)=1×(1-1/365)× (1-2/365)× (1-3/365) × (1-4/365).......
따라서 P(동일)=1- P(다름)
예를 들어
확률이 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