作者SJOKER (高斯教授)
看板Math
標題Re: [機統] 是我高中沒學好嗎?
時間Wed Jan 5 10:39:52 2011
※ 引述《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