黑马程序员技术交流社区

标题: 围圈报数 [打印本页]

作者: 18263368378    时间: 2016-4-27 22:23
标题: 围圈报数
package com.itheima;

/*
* 10、有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。然后其他人重新开始,从1报数,到14退出。问:最后剩下的是100人中的第几个人?
*/
import java.util.Scanner;
public class Test10{
        public static void main(String[] args){
                System.out.println("请输入一个整数:");
                Scanner sc = new Scanner(System.in);
                int n = sc.nextInt();
                sc.close();
                //定义数组变量标识某人是否还在圈内
                boolean[] isIn = new boolean[n];
                for(int i=0;i<isIn.length;i++)
                  isIn[i] = true;
                //定义圈内人数、报数、索引
                int inCount = n;
                int countNum = 0;
                int index = 0;
                while(inCount>1){
                        if(isIn[index]){
                                countNum++;
                                if(countNum==14){
                                        countNum = 0;
                                        isIn[index] = false;
                                        inCount--;
                                }
                        }
                        index++;
                        if(index==n)
                          index = 0;
                }
                for(int i=0;i<n;i++)
                  if(isIn[i])
                    System.out.println("留下的是:"+(i+1));
        }
}




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