| 单循环是指所有参赛队在竞赛中均能相遇一次,最后按各队在竞赛中的得分多少、胜负场次来排列名次。 单循环一般在参赛队不太多,又有足够的竞赛时间才能采用。单循环由于参加竞赛的各队都有相遇比赛的机会, 是一种比较公平合理的比赛制度。 一) 单循环比赛的轮数和场数的计算 ① 比赛轮数:在循环制的比赛中,各队都参加完一场比赛即为一轮。 |
② 比赛场数:单循环比赛的场数,可用下面的公式计算(简单的数学组合公式):
比赛场数= 队数*(队数-1)/2
如6个队或7个队参加比赛,则比赛场数为:
6 *(6-1)/2 =15(场) 7*(7-1)/2 =21(场)
二)编排竞赛轮次表
不论参赛队是奇数或偶数,均按偶数进行编排。如果参赛队为奇数,则在队数最后加一个“0”,使其成为
偶数。碰到0的队轮空。在编排时,把参赛队平均分成左、右各一半,左一半号数由序号1依次自上向下排,右一半号数按数序依
次自下向上排,然后用横线相连,即构成比赛的第一轮。从第二轮开始,轮转的方法有多种。
常用的有两种:
(1)固定轮转编排法
固定轮转法也叫常规轮转法,是我国传统的编排方法。表17-6为7个队参赛轮次表,它以左边第一号固定不动,逆时针转动,逐一排出。
如表所示:

讯享网
JAVA 程序如下
public class FootBallTeam { public static void main(String [] args) { String [] team = {"1","2","3","4","5","0"};//参赛的各队 int len = team.length; for(int i=1;i< len;i++) { System.out.println(); System.out.println("第"+i+" 轮"); for(int j=0;j< len/2;j++) { System.out.println(team[j]+" ----- "+ team[len-1-j]); } String temp=team[len-1]; //将最后一队的值赋给临时变量temp for(int k=len-1;k>0;k--) { team[k]=team[k-1]; } team[1]=temp; //将临时变量temp赋给数组的第二值 } } } 运行结果:
讯享网
C:\java>java FootBallTeam
第1 轮
1 ----- 0
2 ----- 5
3 ----- 4
第2 轮
1 ----- 5
0 ----- 4
2 ----- 3
第3 轮
1 ----- 4
5 ----- 3
0 ----- 2
第4 轮
1 ----- 3
4 ----- 2
5 ----- 0
第5 轮
1 ----- 2
3 ----- 0
4 ----- 5
从1985年起,世界性比赛多采用“贝格”“编排法。其优点是单数队参加时可避免第二轮的轮空队从第四轮起每场都与前一轮的轮空队比赛的不合理现象。
采用“贝格尔”编排法,编排时如果参赛队为双数时,把参赛队数分一半(参赛队为单数时,最后以“0”表示形成双数),前一半由1号开始,自上而下写在左边;后一半的数自上而下写在右边,然后用横线把相对的号数连接起来。这即是第一轮的比赛。
第二轮将第一轮右上角的编号(“0”或最大的一个代号数)移到左角上,第三轮又移到右角上,以此类推。
即单数轮次时“0”或最大的一个代号在右上角,双数轮次时则在左上角。如下表示:
7个队比赛的编排方法
| 第一轮 |
第二轮 |
第三轮 |
第四轮 |
第五轮 |
第六轮 |
第七轮 |
| 1-0 |
0-5 |
2-0 |
0-6 |
3-0 |
0-7 |
4-0 |
| 2-7
|
6-4 |
3-1 |
7-5 |
4-2 |
1-6 |
5-3 |
| 3-6 |
7-3 |
4-7 |
1-4 |
5-1 |
2-5 |
6-2 |
| 4-5 |
1-2 |
5-6 |
2-3 |
6-7 |
3-4 |
7-1 |
无论比赛队是单数还是双数,最后一轮时,必定是“0”或最大的一个代号在右上角,“1”在右下角。
根据参赛队的个数不同,“1”朝逆时针方向移动一个位置时,应按规定的间隔数移动(见表),“0”或最大代号数应先于“1”移动位置。
间隔移动
| 参赛队数 |
间隔数 |
| 4队以下 |
0 |
| 5~6队 |
1 |
| 7~8队 |
2 |
| 9~10队 |
3 |
| 11~12队 |
4 |

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/30636.html