有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。然后其他人重新开始,从1报数,到14退出。问:最后剩下的是100人中的第几个人?
- private static int myGetNumber(int i) {
- ArrayList<Integer> list = new ArrayList<>();
- for (int j = 1; j <= i; j++) {
- list.add(j);
- }
- System.out.println(list);
- int count = 0;
- while (list.size() > 1) {
- Iterator<Integer> it = list.iterator();
- while (it.hasNext()) {
- int n = it.next(); // 定义n表示具体元素
- count++;
- if (count % 14 == 0) {
- System.out.println("当前删除的元素是:" + n);
- it.remove();
- }
- }
- }
- return list.get(0);
- }
复制代码 |