java基础(n个人围成一圈)

Java 写有n个人围成一圈,顺序排号,从第一个人开始报数(从1~3报数),凡报到3的人退出圈子,问最后留下的人原来排在第几号。

import java.util.Scanner;
 
public class Test {
    public static void main(String[] args) {
 
        Scanner s = new Scanner(System.in);
        System.out.print("请输入排成一圈的人数:");
        int n = s.nextInt();
        boolean[] arr = new boolean[n];
 
        for (int i = 0; i < arr.length; i++) {
            arr[i] = true;
        } // 数组赋值都是true
 
        int leftCount = n;
        int countNum = 0;
        int index = 0;
        while (leftCount > 1) {
            if (arr[index] == true) {
                countNum++;
                if (countNum == 3) {
                    countNum = 0;
                    arr[index] = false;
                    leftCount--;
                }
            }
            index++;
            if (index == n) {
                index = 0;
            }
        }
        for (int i = 0; i < n; i++) {
            if (arr[i] == true) {
                System.out.println("原排在第" + (i + 1) + "位的人留下了。");
            }
        }
    }
}


你可能感兴趣的:(Java)