当前位置: 代码迷 >> 综合 >> 100个人围成一个圈(编号从1到100),然后报数,报到3的下去,然后从4开始继续从1开始报数,报到3的下去,依此类推,最后剩下人的编号是?
  详细解决方案

100个人围成一个圈(编号从1到100),然后报数,报到3的下去,然后从4开始继续从1开始报数,报到3的下去,依此类推,最后剩下人的编号是?

热度:1   发布时间:2024-03-09 12:02:03.0
public class TestMain {public static void main(String[] args) {List<Integer> list = new ArrayList<Integer>();for (int i = 1; i <= 100; i++) {list.add(i);}int num;int flag = 0;// 最终只剩下1人while (list.size() > 1) {System.out.println("开始:");ListIterator<Integer> it = list.listIterator();while (it.hasNext()) {num = (int) it.next();flag++;if (flag == 4) {it.remove();System.out.println("被删除的数字:"+num);flag = 0;}}}System.out.println("最后剩下的人:"+list.get(0));}
}