生日悖論
02-12
一個屋子裡人數必須到達多少人,才能使其中兩人生日相同的機會達到50%?
解:假設一年有n天,假設房間里有k人,對於i=1,2,3...k,設表示編號為i的人的生日
於是i和j的生日都落在同一日r的概率是:
這樣2個人的生日落在同一天的概率是:
第i個人的生日可在n-i+1日期中選擇,於是
每個人的生日都不同的概率是:
至少2人生日相同的概率是:
#0.492702765676#22def birthday(n=365): k = n;tmp=1.0; for i in range(0,k): tmp = tmp*(n-i)/n if tmp <= 0.5: print tmp print i breakbirthday()
彩蛋:
房間里70人可保證其中2人生日相同的概率大於99.9%
推薦閱讀:
※剪繩子
※數值的整數次方
※6. ZigZag Conversion(medium) & 7.Reverse Integer(easy)
TAG:演算法 |