从0-n的数列:
0,1,2,3,4,5,6,7,8
第一次丢弃后: 1, 3, 5, 7
第二次丢弃后: 3, 7
第三次丢弃后: 7
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
List<Integer> list=new ArrayList<>();
while(sc.hasNext()) {
int n = sc.nextInt();
for (int i = 0; i <= n; i++) {
list.add(i);
}
while (list.size() != 1) {
//刚开始删掉list(0),原来下标为1~n的移动成下标0~n-1;所以在删list(1)的时候其实是删原来的list(2)
for(int i=0;i<list.size();i++){
list.remove(i);
}
}
System.out.println(list.get(0));
}
}