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));
}
}