看板 Math 關於我們 聯絡資訊
※ 引述《mack (腦海裡依然記得妳)》之銘言: : ※ 引述《kzvito (HOW)》之銘言: : : Q: 今天有九名跑者,跑到終點以後記錄他們的名次。 : : 已知同名次有可能不止一人(如兩個第二名,甚至大家都跑一樣快就九個第一), : : 若不同人得到相同名次仍算另一種組合, : : 在合理的名次組合下(所以不會有九個第五名,或是沒有第一名等等的情況), : : 會有多少種組合呢? : : 因為原po在寫程式, : : 跑的式子大致上可以舉這樣的比喻, : : 目前原po想到一個一個算, : : 但是連這種方法我都不會有條理地算 T^T : : 所以主要倒不是想知道答案,而是想請問便於運算的原理 : : <(_ _)> : : 感謝大家 : 九個跑者陸續跑到 : 第一個 第一名 : 第二個 跟上ㄧ個ㄧ樣快或者上ㄧ個名次加1 : 同理第三個到第九個 也是跟上ㄧ個ㄧ樣快或者上ㄧ個名次加1 : 名次的組合總共 = 1*2*2*2*2*2*2*2*2 = 2^8 : 寫程式基本上8個for迴圈就寫完了 只是就數學的部分有一點想法,提出來供參考: 剛好很像高二排列組合,所以先考慮九個人的抵達順序 => 9! 接著考慮名次 : 人○人○人○人○人○人○人○人○人 中間八個圓圈用來表示空隙,假如九個人全是第一名,則沒有必要"插空" => C(8,0) 倘若有出現第二名,則必須選其中一個圓圈插空 => C(8.1) 以下類推,故總共有 9!˙[C(8,0) + C(8,1) + ... + C(8,8)] = 9!˙2^8 這個問題可以形成 n!˙2^(n-1) 的通式(假如只改變人數的話) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.109.90.101
perturb :重復計數重復的比較多 01/05 10:54
SJOKER :忘記考慮重複了,感謝提醒!! 01/05 15:03