泡泡网显卡频道 PCPOP首页      /      显卡     /      新闻    /    正文

10个职业去打副本,共有多少种组合?

     昨天晚上,新浪微博用户哇哈哈哈哈哈2000发布了一条微博:http://weibo.com/5277494239/Cid5Wxq4K,内容如下:

10个职业去打副本,共有多少种组合?

    题目为:《魔兽世界》中的10个职业去打副本,其中每个职业只能适用于一个位置,2个职业可以做坦克,4个职业可以治疗,4个职业可以输出。那么,如果5人团队中,1坦克+1治疗+3输出的组合,共有多少种职业构成?

    题目分析:这道题目看起来简单,但是并非单纯的排列或组合,并不是简单套用公式可以算出结果,而是需要经过计算后使用排列+组合的公式,这条微博发出后,网友也议论纷纷,并且给出了各种正经、不正经的答案。

    规则判定&难点:这道题目中,坦克+治疗的组合很容易计算,是2x4=8种,难点在于输出组合。按照题意,答案是“职业组合的数量”,也就是说只考虑不同职业数量与每种职业的数量,比如“法师+猎人+猎人”与“猎人+法师+猎人”或“猎人+猎人+法师”,是同一种组合,都是1法师+2猎人,而与“法师+法师+猎人”,就是两种不同的组合。

    正解如下:4个职业中选出3个职业组成输出阵容,可以有重复职业的情况下,要分为三种不同职业构成:1、3个相同职业。2、3个不同职业。3、2个不同职业。那么正确计算方式是:

1、3个相同职业=C(4,1)=A(4,1)/1!=4!/(4-1)!/1!=4x3x2x1/3x2x1/1=4

    公式虽然复杂,其实这里比较好理解,或者其实不用那么复杂的算法,4个职业选3个不同职业,也就是只有一个职业未上场,显而易见是4种。

2、3个不同职业=C(4,3)=A(4,3)/3!=4!/(4-3)!/3!=4x3x2x1/1/3x2x1=4

    这里其实算法和C(4,1)类似,不过因为C(m,n)=C(m, ),所以C(4,3)=C(4,1),也就是说4个职业里选3个不同的,和选3个相同的职业数量是一样的,都是4种。

3、其中2个不同职业=A(4,2)=4!/(4-2)!=4x3x2x1/2x1=12

    为什么这里是A(4,2)而不是C(4,2)呢?因为4个职业里边选2个职业,但是每种职业的数量是不同的所以相当于4个不同元素中选择2个的排列,也就是分先后顺序的,比如排在前边的职业是x2,后边的职业是x1。换一种思路,2个不同职业的算法也可以是:C(4,1)*C(3,1),这里的计算思路是:数量为1的职业可以从4个职业里边选一个,数量为2的职业则是从剩余三个职业里选1个,也就是4*3。当然,也可以是先选择数量为2的职业,在乘以数量为1的职业,但是这两种计算方法都是包含全部组合的。

    因此,关于“4个职业中组成3人,可以有重复职业”的组合数量是12+4+4=20种。那么最终答案就是:2x4x(4+4+12)=2x4x20=160种。怎么样,你明白了吗?■

0人已赞

关注我们

泡泡网

手机扫码关注