PHP赛事贝格尔编排法--单循环
//贝格尔编排法
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赛事贝格尔编排法--单循环相关推荐
- PHP赛事贝格尔编排法--双循环
//贝格尔编排法 function berger(){ // 双循环 // 根据队伍数量生成数组 $num = 10; $ar = []; fo ...
- C# “贝格尔”编排法
采用"贝格尔"编排法,编排时如果参赛队为双数时,把参赛队数分一半(参赛队为单数时,最后以"0"表示形成双数),前一半由1号开始,自上而下写在左边:后一半的数自下 ...
- 单循环赛贝格尔编排法实现
单循环赛,是指所有参赛队伍都需跟其他队伍比赛一次,根据比赛得分,胜负场次来排列名次.比赛队伍为单数时,轮数等于队伍数,为双数时,轮数等于队伍数减一.如5支队伍需比赛5轮,6支队伍需比赛5轮. 首先介绍 ...
- 贝格尔编排法的PHP实现
//贝格尔编排法的PHP实现public function berger(){set_time_limit(0);$n = 14; //队伍数if ($n%2==0) {$m=$n;}else{$m= ...
- 贝格尔编排法之C++版
轮转的步骤与之前的java代码不同,相对之前的更高效一些. // #include <iostream> #include<vector> using namespace st ...
- 贝格尔编排法-java
2019独角兽企业重金招聘Python工程师标准>>> import java.util.Scanner; /*** 精简算法* @author jie**/ public clas ...
- 脑电波之父:汉斯·贝格尔_深度学习,认识聪明的汉斯
脑电波之父:汉斯·贝格尔 Around 1900, a German farmer made an extraordinary claim: he had taught a horse basic a ...
- python求解运输问题_【Python实现】运输问题的表上作业法:利用伏格尔 (Vogel) 法寻找初始基可行解...
#运输问题求解:使用Vogel逼近法寻找初始基本可行解 import numpy as np import pandas as pd import copy #定义函数TP_vogel,用来实现Vog ...
- 数值计算方法(三)——变步长梯形法与龙贝格算法
变步长梯形算法 提出背景: 复化求积公式虽然能提高精度,但需要给出步长,步长精度太大则精度低,步长太小则计算量大,难以找到一个合适的步长(划分成的小区间的个数) 算法描述: 1.对所有已存在的子区间进 ...
最新文章
- Fiori 花瓣动画效果的实现原理
- Python学习6——条件,循环语句
- 【转贴】想应聘的瞧仔细了:HW分析大全
- PrintArea打印,@media screen解决移动web开发的多分辨率问题,@media print设置打印的样式...
- Android仿探探卡片拖拽,Vue 仿探探拖拽卡片的效果
- android获取子线程id,Android 开发 知晓各种id信息 获取线程ID、activityID、内核ID
- mysql ddl分类_MySQL语言分类——DDL
- 一种基于红黑树和timerfd的用户态定时器
- linux加载dl580网卡驱动,HP DL580 G7 服务器在LINUX5 下的集成网卡怎么安装?_电脑_天涯问答_天涯社区...
- vs code 让界面占满全屏的快捷键
- python 多线程 代理 爬取 豆果美食app
- FindWithTag用法
- 快速计算某一天是星期几-蔡勒公式
- 解决CitSpace分析新版本web of science文献报错“the timing slicing setting is outside the range of your data”
- 个人空间岁末大回报活动12月26日获奖名单
- 网络连接变成小地球,提示无法访问internet
- 事件参数$event
- RobotBuilder机器人运动学快速仿真软件
- Mac下的破解软件真的安全吗?
- 协议篇---RIP协议