You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JavaScript计算16队标准淘汰赛中两队对阵轮次与场次

这问题我之前帮朋友算过类似的,针对16支编号连续的标准淘汰赛对阵,其实有一套非常直接的计算逻辑,不用对着对阵图瞎找,输入两队编号就能秒出结果。

先给你一套分步的计算方法,再结合你的例子验证,最后给个可直接用的代码片段:

核心计算方法(针对16支队伍,编号1-16)

首先统一把两队编号设为 A 和 B,先确保 A < B(如果输入的A>B,直接交换就行,不影响结果)。

步骤1:计算相遇的轮次(ROUND)

轮次是两队第一次被分到同一个“对决组”的轮次,计算方式是:
找到最小的整数 m(1 ≤ m ≤4),使得 ceil(A / (2^m)) == ceil(B / (2^m))
这个m就是相遇的轮次。

简单来说:

  • m=1:每2个队伍一组(第一轮),如果两队在同一组,轮次就是1
  • m=2:每4个队伍一组(第二轮的对决单元),如果两队在同一单元,轮次就是2
  • m=3:每8个队伍一组(第三轮的对决单元),轮次3
  • m=4:16个队伍一组(决赛),轮次4

步骤2:计算轮内场次(MATCH)

场次就是上述步骤中,ceil(A / (2^m)) 的结果,也就是两队在该轮次所在的对决单元编号。


用你的例子验证
  1. 队伍1 vs 队伍16

    • A=1,B=16
    • 找最小m:
      m=1:ceil(1/2)=1,ceil(16/2)=8 → 不等
      m=2:ceil(1/4)=1,ceil(16/4)=4 → 不等
      m=3:ceil(1/8)=1,ceil(16/8)=2 → 不等
      m=4:ceil(1/16)=1,ceil(16/16)=1 → 相等
    • 轮次=4,场次=1 → 结果:ROUND 4 - MATCH 1(完全符合你的例子)
  2. 队伍11 vs 队伍15

    • A=11,B=15
    • 找最小m:
      m=1:ceil(11/2)=6,ceil(15/2)=8 → 不等
      m=2:ceil(11/4)=3,ceil(15/4)=4 → 不等
      m=3:ceil(11/8)=2,ceil(15/8)=2 → 相等
    • 轮次=3,场次=2 → 结果:ROUND 3 - MATCH 2(正确)
  3. 队伍3 vs 队伍4

    • A=3,B=4
    • 找最小m:
      m=1:ceil(3/2)=2,ceil(4/2)=2 → 相等
    • 轮次=1,场次=2 → 结果:ROUND 1 - MATCH 2(正确)

快速计算的代码实现(Python)

如果不想手动算,可以用这个小脚本,输入两队编号直接输出结果:

import math

def get_match_round_and_number(team1, team2):
    a = min(team1, team2)
    b = max(team1, team2)
    # 找到最小的m
    round_num = None
    for m in range(1, 5):
        group_a = math.ceil(a / (2 ** m))
        group_b = math.ceil(b / (2 ** m))
        if group_a == group_b:
            round_num = m
            match_num = group_a
            break
    return f"ROUND {round_num} - MATCH {match_num}"

# 测试例子
print(get_match_round_and_number(1, 16))  # ROUND 4 - MATCH 1
print(get_match_round_and_number(11, 15)) # ROUND 3 - MATCH 2
print(get_match_round_and_number(3, 4))   # ROUND 1 - MATCH 2

这个逻辑也可以扩展到其他2^n支队伍的情况,只要调整循环的上限为n就行(比如32队的话循环到5)。

内容的提问来源于stack exchange,提问作者Richard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:23:58