黑马程序员技术交流社区

标题: 有n个人围成一圈,顺序排号 [打印本页]

作者: pathnet    时间: 2015-7-16 23:17
标题: 有n个人围成一圈,顺序排号
有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位
public static voidmain(String[] args){
        System.out.print("请输入一个整数:");
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        scan.close();
        //定义数组变量标识某人是否还在圈内
        boolean[] isIn = new boolean[n];
        for(int i=0;i<isIn.length;i++)
         isIn = true;
        //定义圈内人数、报数、索引
        int inCount = n;
        int countNum = 0;
        int index = 0;
        while(inCount>1){
            if(isIn[index]){
                countNum++;
                if(countNum==3){
                    countNum = 0;
                    isIn[index] = false;
                    inCount--;
                }
            }
            index++;
            if(index==n)
             index = 0;
        }
        for(int i=0;i<n;i++)
         if(isIn)
           System.out.println("留下的是:"+(i+1));
    }





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2