【问题标题】:Using JavaScript/jQuery to generate fixtures使用 JavaScript/jQuery 生成夹具
【发布时间】:2009-09-22 13:56:29
【问题描述】:

我正在为一位同事准备一个工具,它有助于创建一个漂亮的灯具列表。我通过该工具获得了大约 2/3,收集了各种数据……然后我撞到了一堵墙。这与其说是 JavaScript 问题,不如说是数学/处理脑块。

假设我有 4 支球队,他们都需要在主场和客场比赛。使用这个工具 - http://www.fixturelist.com/ - 我可以看到有 4 支球队的主客场比赛将需要 6 周/轮/任何时间。不过,就我的一生而言,我无法弄清楚这是如何以编程方式解决的。

有人能解释一下处理这个的逻辑吗?

对于信息,我会使用这个现有的工具,但我还需要处理其他因素/功能,因此需要进行自定义工作。如果我能理解如何表示这种逻辑就好了!

【问题讨论】:

    标签: logic iteration permutation


    【解决方案1】:

    在您的 4 个团队的示例中,将它们称为 a、b、c 和 d:

    • a 必须玩 b、c、d
    • b 必须玩 c、d(与 a 的比赛已经包含在 a 的比赛中)
    • c 必须玩 d(与 a 的游戏已包含在 a 的游戏中,与 b 的游戏已包含在 b 的游戏中)

    如果他们需要在主场和客场比赛,那就是 12 场比赛。您每周最多可以玩 4/2 = 2 场比赛,因此是 6 周。

    对于n 团队,您需要x 游戏,其中:

    x = ((n-1 + n-2 + n-3 ...) * 2)
    

    这需要y 周,其中:

    y = x/(n/2) = 2x/n
    

    这可以很容易地用算术级数来简化,或者如果你愿意的话,可以用 for 循环来计算。

    【讨论】:

    • 谢谢。这个公式是有道理的,我已经在页面上相应地工作了 - 写出正确的周数和正确的总游戏数,这取决于我是否选择单一数学的主场和客场。但现在我在制定逻辑上遇到了另一个障碍,即每周实际绘制谁扮演谁,以便涵盖每个排列。我会尽力解决这个问题,但最终可能会再次寻求帮助!非常感谢。非常感谢
    • @Lloydi - 是的,我要提到这可能会让人头疼!我认为y 是所用周数的下限,提供了最佳的游戏顺序。我会留意你的任何问题 - 我非常喜欢这个问题!
    • 我要考虑一下……看看在遛狗时这种方法是否会神奇地突然出现在我的脑海中。如果该示例站点没有使用 PHP 生成修复程序就好了。服务器端代码,嗯? Pfff ;-) 我想我还是会上传文件以获取信息。不得不说,第一次使用 Stack Overflow,我真的喜欢它的工作方式 :-) 一个非常好的开发人员资源。
    • @Lloydi - 很高兴你喜欢它 - 它对我非常有用(不仅仅是作为回答我的问题的资源,而是作为一个帮助其他人的地方)。跨度>
    猜你喜欢
    • 2012-11-08
    • 2011-02-01
    • 2011-01-02
    • 2011-02-04
    • 1970-01-01
    • 1970-01-01
    • 2012-02-24
    相关资源
    最近更新 更多