//贝格尔编排法
function berger(){
    //单循环
    // 根据队伍数量生成数组
        $num = 10;
        $ar = [];
        for($i = 1;$i <= $num; $i++){
            $ar[] = $i;
        };
        // halt($numArr);
        // $ar = array('1', '2', '3', '4', '5', '6' ,'7','8','9');直接传入数组或者选手名称或者id或者标识
        if (count($ar) % 2) $ar[] = '0';
        $t = array_merge(range(1, count($ar) - 1), range(1, count($ar) - 1));
        $len = count($ar);
        $m = range(1, $len);
        $lun = 0;
        $last = 0;
        $k = $len <= 4 ? 1 : ($len - 4) / 2 + 1;
        while ($lun++ < $len - 1) {
            $s = array_values($m);
            echo "== 第$lun"."轮 ==</br>";
            for ($i = 0; $i < $len / 2; $i++){
                printf("%s -- %s </br>", $ar[$s[$i] - 1], $ar[$s[$len - 1 - $i] - 1]);
            }

list($m[0], $m[$len - 1]) = array($m[$len - 1], $m[0]);
            for ($i = 0; $i < $k; $i++) {
                if ($m[++$last % $len] == $len) $last++;
            }
            $n = $last %= $len;
            for ($i = 1; $i < $len; $i++) {
                if (($m[$n]) == $len) $n = ($n + 1) % $len;
                $m[$n] = $i;
                $n = ($n + 1) % $len;
            }
}

PHP赛事贝格尔编排法--单循环相关推荐

  1. PHP赛事贝格尔编排法--双循环

    //贝格尔编排法 function berger(){     // 双循环 // 根据队伍数量生成数组         $num = 10;         $ar = [];         fo ...

  2. C# “贝格尔”编排法

    采用"贝格尔"编排法,编排时如果参赛队为双数时,把参赛队数分一半(参赛队为单数时,最后以"0"表示形成双数),前一半由1号开始,自上而下写在左边:后一半的数自下 ...

  3. 单循环赛贝格尔编排法实现

    单循环赛,是指所有参赛队伍都需跟其他队伍比赛一次,根据比赛得分,胜负场次来排列名次.比赛队伍为单数时,轮数等于队伍数,为双数时,轮数等于队伍数减一.如5支队伍需比赛5轮,6支队伍需比赛5轮. 首先介绍 ...

  4. 贝格尔编排法的PHP实现

    //贝格尔编排法的PHP实现public function berger(){set_time_limit(0);$n = 14; //队伍数if ($n%2==0) {$m=$n;}else{$m= ...

  5. 贝格尔编排法之C++版

    轮转的步骤与之前的java代码不同,相对之前的更高效一些. // #include <iostream> #include<vector> using namespace st ...

  6. 贝格尔编排法-java

    2019独角兽企业重金招聘Python工程师标准>>> import java.util.Scanner; /*** 精简算法* @author jie**/ public clas ...

  7. 脑电波之父:汉斯·贝格尔_深度学习,认识聪明的汉斯

    脑电波之父:汉斯·贝格尔 Around 1900, a German farmer made an extraordinary claim: he had taught a horse basic a ...

  8. python求解运输问题_【Python实现】运输问题的表上作业法:利用伏格尔 (Vogel) 法寻找初始基可行解...

    #运输问题求解:使用Vogel逼近法寻找初始基本可行解 import numpy as np import pandas as pd import copy #定义函数TP_vogel,用来实现Vog ...

  9. 数值计算方法(三)——变步长梯形法与龙贝格算法

    变步长梯形算法 提出背景: 复化求积公式虽然能提高精度,但需要给出步长,步长精度太大则精度低,步长太小则计算量大,难以找到一个合适的步长(划分成的小区间的个数) 算法描述: 1.对所有已存在的子区间进 ...

最新文章

  1. Fiori 花瓣动画效果的实现原理
  2. Python学习6——条件,循环语句
  3. 【转贴】想应聘的瞧仔细了:HW分析大全
  4. PrintArea打印,@media screen解决移动web开发的多分辨率问题,@media print设置打印的样式...
  5. Android仿探探卡片拖拽,Vue 仿探探拖拽卡片的效果
  6. android获取子线程id,Android 开发 知晓各种id信息 获取线程ID、activityID、内核ID
  7. mysql ddl分类_MySQL语言分类——DDL
  8. 一种基于红黑树和timerfd的用户态定时器
  9. linux加载dl580网卡驱动,HP DL580 G7 服务器在LINUX5 下的集成网卡怎么安装?_电脑_天涯问答_天涯社区...
  10. vs code 让界面占满全屏的快捷键
  11. python 多线程 代理 爬取 豆果美食app
  12. FindWithTag用法
  13. 快速计算某一天是星期几-蔡勒公式
  14. 解决CitSpace分析新版本web of science文献报错“the timing slicing setting is outside the range of your data”
  15. 个人空间岁末大回报活动12月26日获奖名单
  16. 网络连接变成小地球,提示无法访问internet
  17. 事件参数$event
  18. RobotBuilder机器人运动学快速仿真软件
  19. Mac下的破解软件真的安全吗?
  20. 协议篇---RIP协议

热门文章

  1. Oracle11g在虚拟机win7上的详细安装过程(包括win7在虚拟机上的安装)
  2. 双非本23秋招之路-从考研跑路到某安全大厂(无实习、项目)
  3. 基于Android新能源电动汽车充电服务导航
  4. VLC-Android音频播放不完整问题踏坑
  5. Unity3D中HideFlags.DontSave使用解析
  6. 货郎担问题java算法_迷宫最短路径-货郎担问题的解决思路
  7. 简单小白vr效果制作(unity)
  8. 如何使用 Web Workers 和 jsQR 在 Web 浏览器中扫描二维码
  9. Java技巧之双括弧初始化
  10. 微信小程序实现规划路线