java 经典 。n个人围成圈报数123,,报3的退出,最后留下的那个人原来是第几号 // 输入n Scanner sc = new Scanner(System.in); int n = sc.nextInt(); // 初始化 boolean[] arr = new boolean[n]; for (int i = 0; i < arr.length; i++) { arr[i] = true; } int len = arr.length;// 总人数 int t = 0;//报的数 while (len > 1) { // 只要人数大于1就进行下面操作 // 报数 for (int i = 0; i < arr.length; i++) { if (arr[i]) {//只要arr[i]为真即arr[i]没有被淘汰,就进行下面操作 t++; if (t % 3 == 0) { t=0; arr[i] = false; len--; } } } } for(int i=0;i<arr.length;i++) { if(arr[i]) { System.out.println("是"+(i+1)); } }