//{1,2,3,4,5,6,7,8,9,0}第一轮的淘汰为:{0,0,1,0,0,1,0,0,1,0}
import java.util.Arrays;
public class Work105 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr={1,2,3,4,5,6,7,8,9,10};
int[] arrB=new int[arr.length];//淘汰标记组
int cont=0,//全局循环计数,到3的倍数就淘汰人
flg=0;//已淘汰人数
System.out.println("淘汰过程如下:");
while(true){
for (int i = 0; i < arr.length; i++) {
if(arrB[i]==1){//说明这个人已经淘汰,此人跳过
continue;
}else{
cont+=1;//计数器+1
if(cont%3==0){//如果这个人/3=0
arrB[i]=1;//这个人淘汰
}
}
}
//输出淘汰情况
System.out.println(Arrays.toString(arrB));
//统计已淘汰人数淘汰
for (int i = 0; i < arrB.length; i++) {
if(arrB[i]==1){
flg++;
}
}
if(flg==arr.length-1){//若只剩一人,则结束循环
break;
}else{//若剩余多余一人,则继续循环
flg=0;
}
}
System.out.println("原来为:\n"+Arrays.toString(arr));
for (int i = 0; i < arrB.length; i++) {
if(arrB[i]==0){
System.out.println("经过淘汰,最后剩下的是:"+arr[i]);
}
}
}
}
输出结果如下: