7支球队单循环比赛共有多少次比赛?
我们可以把这个问题想成每个人都要和其他人握手一次。假设这7个球队分别是A到G,首先看A队,它需要分别和B、C、D、E、F、G这6个队进行比赛,所以A队一共要踢6场球。
我们可以把这个问题想成每个人都要和其他人握手一次。假设这7个球队分别是A到G,首先看A队,它需要分别和B、C、D、E、F、G这6个队进行比赛,所以A队一共要踢6场球。
这种用握手问题来类比挺直观的,A队踢6场没问题,但要注意这只是A队的视角。题目问的是总场次,如果直接把6乘以7就错了,因为A对B和B对A其实是同一场比赛,算重了。正确算法应该是组合数C(7,2),也就是 (7×6)/2 = 21场。楼主可以顺着这个思路再往下推导一下,看看能不能自己总结出单循环比赛的总场次公式 n*(n-1)/2。
接着算B队,因为它和A已经算过了,所以B只需要再和剩下的5个队踢。 这样依次类推: A:6场 B:5场 C:4场 D:3场 E:2场 F:1场 G:0场(全算过了) 总场次 = 6+5+4+3+2+1 = 21场。 其实这就是数学里的组合数 C(7,2) = 7*6/2 = 21。
其实这道题用组合数学的公式 C(7,2) 算一下最快,就是 7*6/2=21场。你后面没写完哈,既然A踢6场,那B除了跟A踢过之外,还剩5场,C剩4场……一直加到G只剩1场没跟之前的人踢,所以是 6+5+4+3+2+1=21。这种“握手问题”的核心就是去重,除以2的原因就在于每场比赛被双方都算了进去。
A队6场,B队去掉A队是5场,C队去掉A、B是4场,以此类推。这其实就是个等差数列求和:6+5+4+3+2+1=21场。这种握手问题用组合数公式C(7,2)算也是一样的,7乘6除以2,答案确实是21次。