首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不重复计算足球比赛组合

不重复计算足球比赛组合
EN

Stack Overflow用户
提问于 2018-01-23 11:56:43
回答 2查看 145关注 0票数 0

所以,我有这样一个数组,充满了团队:

代码语言:javascript
复制
array(0, 1, 2, 3, 4, 5, ...)

在每一场比赛中,我们都有TotalNumberOfTeams-1回合(日期)和比赛。(第一圈)

在每一轮比赛中,我们都有TotalNumberOfTeams/2比赛。(2圈)

如何计算此结果的组合:

代码语言:javascript
复制
       Date   Date   Date   Date   Date
Match: 0-1    0-2    0-3    0-4    0-5
Match: 2-3    1-5    1-4    1-3    1-2
Match: 4-5    3-4    2-5    2-4    3-5     

/w常用语:每支球队用不同的球队进行每一轮比赛

计算回合、匹配和日期的代码:

代码语言:javascript
复制
// Rounds
for($i=1; $i <= ($teamsNum - 1); $i++) {
  // Matches
  for($z=0; $z < ($teamsNum / 2); $z++){
    //some code here
  }
  // Calculate next date
  $mdate = date('Y-m-d', strtotime($mdate. ' + x days'));
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-23 12:28:24

使用循环竞赛算法

简言之:

生成两行命令,每个顶部命令都使用相应的命令形式下行。我的号码是奇数,有一个命令在休息。

以循环方式移动所有命令,但第一个除外

代码语言:javascript
复制
0  1
2  3
=====
0  2
3  1
====
0  3
1  2 
票数 2
EN

Stack Overflow用户

发布于 2018-01-23 13:06:55

有一个代码示例- http://rosettacode.org/wiki/Combinations#php的答案。

只需使用$k=2进行计算

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48401161

复制
相关文章

相似问题

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