关于梦幻体育(蛇)选秀的数学问题

Math question regarding a Fantasy Sports (snake) draft

提问人:Jeff 提问时间:2/7/2011 最后编辑:BoltClockJeff 更新时间:8/13/2012 访问量:2206

问:

如果您熟悉任何梦幻体育选秀,选秀顺序网格如下所示:

EXAMPLE 1 (3-teams):
Round   Team 1   Team 2   Team 3
  1     1 (1.1)  2 (1.2)  3 (1.3)
  2     6 (2.3)  5 (2.2)  4 (2.1)
  3     7 (3.1)  8 (3.2)  9 (3.3)

数字 1-9 代表草稿。overall pick number

括号中的项目表示 和 。round_numberpick_number_of_that_round

我无法想出一个公式将我的转换为适当的公式。overall_pick_numberpick_number_of_that_round

在上面的例子中,数字 8 等于 2(第 3 轮的第 2 次选择)。但在 4 支球队的联赛中,8 号等于 4(第 2 轮的第 4 顺位)。

EXAMPLE 2 (4-teams):
Round   Team 1   Team 2   Team 3   Team 4
  1     1 (1.1)  2 (1.2)  3 (1.3)  4 (1.4)
  2     8 (2.4)  7 (2.3)  6 (2.2)  5 (2.1)
  3     9 (3.1)  10 (3.2) 11 (3.3) 12 (3.4)

我考虑过尝试根据联盟中包含每个选秀权的球队数量以及它所属的选秀权来动态构建一个关联数组,但这超出了我的范围。

PHP 算法 数学

评论


答:

5赞 hugomg 2/7/2011 #1
round_number         = ((overall-1) / number_of_teams) + 1
pick_number_of_round = ((overall-1) % number_of_teams) + 1

评论

0赞 Jeff 2/7/2011
我必须投出 to 才能达到我想要的结果。非常感谢您抽出宝贵时间提供帮助。round_number(int)
6赞 Nikita Rybak 2/7/2011 #2

我将通过 missingno 修改答案,使其像“蛇”一样扭曲

round_number         = ((overall_pick_number - 1) / number_of_teams) + 1
pick_number_of_round = ((overall_pick_number - 1) % number_of_teams) + 1
if (round_number % 2 == 0) {
    pick_number_of_round = number_of_teams - pick_number_of_round + 1
}