import java.util.ArrayList;
import java.util.Scanner;
public class Question4 {
//定义一个成员的类
class Member{
private int index;
Member(int index){
this.index = index;
}
public int getIndex() {
return index;
}
}
public static void main(String args[]) {
Question4 s = new Question4();//为了调用game而新建
Scanner in = new Scanner(System.in);
System.out.println("请输入游戏的人数");
int num = in.nextInt();
int memberNum = s.game(num)+1;
System.out.println("最后留下是第"+memberNum+"个人");
}
public int game(int n) {
int num=0;
int currentIndex = 0;//用于记录所在线性表的位置。
ArrayList list = new ArrayList();
//制造n个成员并将成员加入list表中。
for(int i=0;i1) {
num++;
num = num % 3;
if(num==0) {
list.remove(currentIndex);//删除成员
currentIndex--;//保持当前索引在在删除的成员的位置。
}
currentIndex++;
currentIndex = currentIndex%(list.size());//进行循环获取当前索引。
}
int x = ((Member) list.get(0)).getIndex();
return x;
}
}