有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。然后其他人重新开始,从1报数,到14退出。问:最后剩下的是100人中的第几个人?
- public class Test9 {
- public static void main(String[] args) {
- Circle c = new Circle();
- c.exits2();
-
- }
- public int printArr(int[][] arr, int i, int j, int move, int num) {
- // TODO Auto-generated method stub
- return 0;
- }
- }
-
- class Circle{
- private List<Integer> queue = new ArrayList<Integer>(); //队列
-
- private int maxIndex = 0; //最大索引值
- private int currentIndex = 0; //当前索引值
-
-
- public void exits2()
- {
-
- boolean[] queue = new boolean[100];
- for(int i=0;i<queue.length;i++)
- {
- queue[i] = true;
- }
-
-
- int len = queue.length;
-
- int count = 0;
- while(len>1)
- {
-
- for(int i=0;i<queue.length;i++)
- {
- if(queue[i]==true)
- {
- count++;
- if(count == 14)
- {
- queue[i] = false;
- count=0;
-
- len--;
- }
- }
- }
-
-
-
-
- }
-
-
- for(int i=0;i<queue.length;i++)
- {
- System.out.println(i + " : " + queue[i]);
- }
- }
- }
复制代码 |
|