小孩围圈问题

来源:互联网 发布:雷蛇黑寡妇 知乎 编辑:程序博客网 时间:2024/04/27 23:02

 /*
 * 500个小孩围成一
 *圈,开始数数,每数到
 * 3,那个小孩退出,看
 * 最后剩下的
 * 是哪一个
 */
package lin.sxt;

public class Quit {

 public static void main(String[] args) {
  boolean[] arr = new boolean[500];
  for(int i=0;i<arr.length;i++)
  {
   arr[i] = true;
  }
  int leng =arr.length;
  int count = 0;
  int index = 0;
  while(leng>1)
  {
   if(arr[index]== true)
   {
    count++;
    
    if(count == 3)
    {
     count =0;
     arr[index]=false;
     leng--;
    }
    
   }
   
   index++;
   //数数不能大于小孩的个数
   if(index == arr.length)
   {
    index=0;
   }
  }
  for(int i=0;i<arr.length;i++)
  {
   if(arr[i]==true)
    System.out.println(i);
  }
  
  
  
  
 }
}

原创粉丝点击