|
|
A225871
|
|
Number of people required for there to be a 50% probability that at least 4 share a birthday in a year with n days.
|
|
4
|
|
|
4, 6, 7, 9, 10, 11, 12, 13, 15, 16, 17, 18, 18, 19, 20, 21, 22, 23, 24, 25, 25, 26, 27, 28, 28, 29, 30, 31, 32, 32, 33, 34, 34, 35, 36, 37, 37, 38, 39, 39, 40, 41, 41, 42, 43, 43, 44, 45, 45, 46, 46, 47, 48, 48, 49, 50, 50, 51, 51, 52, 53, 53, 54, 54, 55, 56
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,1
|
|
COMMENTS
|
a(365)=187.
For n<1000, the formula a(n) = 2.79 + 2.456*n^0.732 - 1.825/n provides an estimate of a(n) accurate to 0.82.
|
|
LINKS
|
|
|
EXAMPLE
|
For a year with 365 days, a(365), the probability that out of 186 people 4 of them share a birthday is 0.495825. The corresponding probability for 187 people is 0.502685, and therefore a(365)=187.
|
|
PROG
|
(R) library(gmp); #prob of a maximum of exactly k coincident birthdays is
BigQ<-function(nday, p, k) { #nday=days in a year; p=people
if(p<k | nday<1) return(0)
if(k==1) return(prod(1-(1:p-1)/nday))
tot=0;
for(i in 1:floor(p/k)) {
q=(1-as.bigz(i)/nday)^(p-k*i) * prod((p-as.bigz(1:(k*i))+1)/nday) * prod((nday-as.bigz(1:i)+1)/((1:i)*factorialZ(k)))
tot=tot+as.numeric(q)*ifelse(k*i<p & k>1, sum(sapply(2:k-1, function(j) BigQ(nday-i, p-k*i, j))), 1)
}
tot
}
BDaySharedByAtLeast<-function(nday, people, k) {
if(nday<1 | people<k) return(0)
if(k==1) return(prod(1-(1:people-1)/nday))
prob=1; for(j in 2:k-1) prob=prob-BigQ(nday, people, j); prob
}
y=rep(0, 100); for(i in 1:100) { j=ifelse(i==1, 4, y[i-1]); while(BDaySharedByAtLeast(i, j, 4)<.5) j=j+1; y[i]=j}; y
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|