Java 数组 约瑟夫问题
最开始是这么写的: int[] list = new int[10];//总人数 int x = 10;//记录数组中还有几个人活人 //建立输入流确定那个犯人死亡 Scanner scan = new Scanner(System.in); //给犯人编号 for (int i = 0; i < list.length; i++) { list[i] = i + 1; } //输入犯人列表 for (int i = 0; i < list.length; i++) { System.out.print(list[i]+" "); } //当仅有一人活着的时候游戏结束 while (x != 1) { System.out.println("请输入想要打死的犯人"); //每次输入先要打死的犯人 int n = scan.nextInt(); if (list[n-1]==0){ //如果犯人已经被打死,那么重新输入 System.out.println("该犯人已经被打死,请重新输入"); continue; } list[n-1] = 0; x--;//人数减少1 if (x==1){ //如果只剩下最后一个人 System.out.println("最后活下来的人是:"); } //输入还有哪些序号的人还活着 for (int i = 0; i < list.length;