package learn;
public class Test{
public static void main(String[] args) {
boolean[] arr = new boolean[500];
for(int i=0; i<arr.length; i++) {
//将500人全部设置为TRUE。因为500人无非两种状态。一种留下。一种离开
arr[i] = true;
}
int leftCount = arr.length;
int countNum = 0;
int index = 0;
while(leftCount > 1) {
//所有的arr[index]==false 表示该人已经离开队伍,在数3的步骤中应该省略
if(arr[index] == true) { //这个也不懂
countNum ++;
if(countNum == 3) {
countNum = 0;
//该人离队
arr[index] = false; //这个也是
leftCount --;
}
}
//index所指向的人处理完毕,开始准备处理下一个人
index ++; //这个也是
if(index == arr.length) {
index = 0;
}
}
for(int i=0; i<arr.length; i++) {
//判断最后一个状态为true的人,也就是剩下的最后一个人
if(arr[i] == true) { //这个也
System.out.println(i);
}
}
}
}
Java 数三退一
最新推荐文章于 2021-02-24 10:55:36 发布