array1d_3.java
来自「java程序设计 清华出版社 孙燮华老师编写的程序源代码」· Java 代码 · 共 24 行
JAVA
24 行
//array1D_3.java
public class array1D_3{
public static void main(String args[]){
final int N = 13; //总人数N
final int S = 3; //从第S个人开始报数
final int M = 5; //报数M的人出圈
int p[] = new int[N];
int i, s, w, j;
s = S;
for(i = 1;i<= N;i++)
p[i-1] = i; //对每个人进行编号
for(i = N;i>=2;i--){ //总人数为N,依次减1
s = (s+M-1)%i; //计算下一个报数M的人的位置
if(s==0) s = i; //最后一个出圈人的位置存人变量s中
w=p[s-1]; //将出圈人的编号保存到变量w中
for(j = s;j<=i-1;j++)
p[j-1] = p[j]; //从s位置开始,数组的内容依次前移
p[j-1] = w; //将w存入到数组p中
}
System.out.println("\n出圈顺序为: ");
for(i=p.length-1;i>=0;i--) System.out.print(" "+p[i]);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?