作者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
1F:→ perturb :重复计数重复的比较多 01/05 10:54
2F:→ SJOKER :忘记考虑重复了,感谢提醒!! 01/05 15:03