帮忙做一道数据结构的题目
有一群人组成一个圈。从头开始按照顺时针方向从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));
}