相同生日概率(經典問題)

2022-08-01 08:39:16 字數 623 閱讀 7150

題意:多組案例。每組案例給出一年的天數(不一定是地球一年365天,火星上一年有669天),問開展的生日party上需要有多少人才能滿足至少兩人生日相同的機率達到至少0.5。

案例:sample input

2365

669sample output

case 1: 22

case 2: 30

分析:題目應從當前事件的對立事件入手,這樣可以簡化題目。也就是說現在要求至少需要多少人能滿足任意兩人的生日不同的概率低於0.5。怎樣求取概率呢?舉個例子:一年365天,假設有5個人,若要任意兩人生日不同,則假定第乙個人已經確定為某一天,那麼第二個人有364種選法,第三個人有363種選法,第四個人有362種選法,第五個人有361種選法這樣才可以保證要求。而原本每個人都有365種選法,這樣任意兩人生日不同概率為(364*363*362*361)/(365*365*365*365)。注意不要累計分子分母最後求積,這樣會造成資料溢位。

源**:

1 #include2

int n,ans,a[100005];3

void

birth()415

}16intmain()

1726

return0;

27 }

1035 相同生日

在乙個有200人的大班級中,存在兩個人生日相同的概率非常大,現給出每個學生的學號,出生月日,試找出所有生日相同的學生。第一行為整數n,表示有n個學生,n 200。此後每行包含乙個字串和兩個整數,分別表示學生的學號 字串長度為11位 和出生月 1 m 12 日 1 d 31 學號 月 日之間用乙個空格...

生日不相同的概率

假設我們班有 50名同學,每個同學都報出自己的生日 每個同學的生日都不相重的概率只有 0.0296 如果有 100個同學,不相重的概率為 3.0725 10 7 相重複的概率如此之大與我們主觀想象不同。編寫程式,輸入同學的人數 n,計算出其生日不重複的概率。然後在用 的方法 利用隨機數產生每個同學的...

雜湊碰撞與生日相同概率

所謂雜湊 hash 就是將不同的輸入對映成獨一無二的 固定長度的值 又稱 雜湊值 它是最常見的軟體運算之一。如果不同的輸入得到了同乙個雜湊值,就發生了 雜湊碰撞 collision 舉例來說,很多網路服務會使用雜湊函式,產生乙個 token,標識使用者的身份和許可權。afgg2pixh0ht6dmx...