package TestFor0322;
public class Demo2For循环取数 {
/**
* 99个人围成圈开始数数,遇到3则退出,最后留下来的是谁?
*/
public static void main(String[] args) {
int n=99;
loopFetch(n);
}
private static void loopFetch(int n) {
boolean []b=new boolean[n];
int index=0;//循环计数
int leftcount=n;//数组中true数目
int count=0;//统计连续出现3次true
//数组初始化
for(int i=0;i<n;i++){
b[i]=true;
}
//主方法函数
while(leftcount>1){
if(b[index]==true){
count++;
if(count==3){
b[index]=false;
count=0;
leftcount--;
}
}
index++;
if(index==n){
index=0;
}
}
//找到最终为true的下标
for(int i=0;i<n;i++){
if(b[i]==true){
System.out.print(i);
}
}
}
}