/* 第一题: 100个人围成圈, 从第一个人开始从1开始报数, 逢14的倍数的, 将当前人枪毙,最后问最后一个被枪毙的是刚开始100人的第几个人? */ public class Test5 { public static void main(String[] args) { //1.准备集合, 将100个人放到集合中 List<Integer> list = new ArrayList<>(); for (int i = 1; i <= 100; i++) { list.add(i); } //2.定义一个变量描述报数 int number = 0; //3.定义变量描述被删的索引 int index = -1; //4.不断的报数, 死循环 while (list.size() != 1) { number++; index++; //当索引超出集合索引的最大值, 则需要重新开始 if(index == list.size()){ index = 0; } //判断number是否是14的倍数,如果是则删除该索引对应的人 if(number%14 ==0){ list.remove(index); index--; } } System.out.println(list); } }