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

int n = 17;
  boolean[] persons = new boolean[n];
  //初始化
  for(int i=0;i<persons.length;i++){
   persons[i] = true;
  }
  
  int len = persons.length;//剩下的人数
  int count = 0;
  while(len>1){
   //继续报数
   for(int i=0;i<persons.length;i++){
    if(persons[i]){
     count++;
     if(count == 3){
      persons[i] = false;
      count = 0;
      len--;
     }
    }
   } 
  }

原文地址:https://www.cnblogs.com/lxxia-blog/p/4457769.html