帮忙做一道数据结构的题目
有一群人组成一个圈。从头开始按照顺时针方向从1开始依次报数。报到到9的人就离开圈子。其左手边的人接着从1开始报数。依此进行,直到剩最后一个人为止。谢谢咯!!!!!!!
public static void main(String args[]) { List<Integer> a = new ArrayList<Integer>(); for (int i = 1; i <= 500; i++) { a.add(i);// 把每个小朋友的号码依次放入. } int num=0,currentIndex=0; while (a.size() > 1) { num++; if(num==3){ a.remove(currentIndex); currentIndex--; num=0; } currentIndex++; if(currentIndex>=a.size()) currentIndex=0; } System.out.println("最后一个小朋友的号码是: " + a.get(0)); }