首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php中的锦标赛算法

php中的锦标赛算法
EN

Stack Overflow用户
提问于 2010-09-12 22:56:11
回答 1查看 1.7K关注 0票数 1

我需要些帮助。我想创建一个锦标赛。假设我有6个玩家。1 2 3 4 5 6

我想创造一些..。假设是分阶段..。每个玩家将在5个不同的阶段进行5场比赛(玩家数量- 1)。在一个阶段,所有玩家必须只出现一次。

例如,对于6个玩家,我希望生成以下结果:

代码语言:javascript
复制
Squad 1:

1-2
3-4
5-6

Squad 2:

1-3
2-5
4-6

Squad 3:

1-4
2-6
3-5

Squad 4:

1-5
2-4
3-6

Squad 5:

1-6
2-3
4-5

因此,在每个阶段,比赛必须是独一无二的,每个球员都必须与每个球员一起比赛。

我想要一个算法,即使我想要8个玩家,或者12个,或者16个,或者28个也能工作。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-12 23:09:42

代码语言:javascript
复制
<?php
$numplayers = 6;
if ($numplayers % 2 != 0) $numplayers++; // Dummy

for ($round = 0;$round < $numplayers - 1;$round++) {
    echo 'Squad ' . ($round+1) . ":\n\n1-";

    for ($i = 0;$i < $numplayers-1;$i++) {
        if ($i % 2 == 0) {
            $player = ($numplayers-2) - ($i/2) - $round;
        } else {
            $player = ((($i-1)/2) - $round);
        }
        if ($player < 0) $player += $numplayers - 1;
        echo ($player+2);
        echo ($i % 2 == 0) ? "\n" : '-';
    }
    echo "\n\n";
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3695264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档