[Java] 纯文本查看 复制代码
public class Test9 {
public static void main(String[] args) {
baoshu(50,3);
baoshu(100,14);
}
/** * 报数方法
* @param n 总人数
* @param m 报到数m的人出列
*/
public static void baoshu(int n, int m) {
//定义数组变量标识某人是否还在圈内,初始值为true
boolean[] flags=new boolean[n];
for (int j = 0; j < flags.length; j++) {
flags[j]=true;
}
int countNum=0;//定义报的数
int index=0; //定义索引
int inCount=n; //定义在圈内的人数
while(inCount>1){
if(flags[index]){
countNum++;
if (countNum==m) { flags[index]=false;
inCount--;
countNum=0;
}
}
index++;
if (index==n)
index=0;
}
for (int i = 0; i < flags.length; i++) {
if (flags) {
System.out.println("留下的是第"+(i+1)+"个人");
}
}
}
}