A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

import java.util.ArrayList;
/*
* 第九题:有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。然后其他人重新开始,
* 从1报数,到14退出。问:最后剩下的是100人中的第几个人?
*/
public class Test9 {
  // 定义数字集合,存放1-100数字
static ArrayList<Integer> list = new ArrayList<>();
static int count=0;
public static void main(String[] args) {
  
  //循环存入数字
  for (int i = 1; i < 101; i++) {
   list.add(i);
  }
  //System.out.println(list);
  //定义一个递归方法当第14个人时,将其移出并打印最后一人
  print();
}

private static void print() {
  
  for (int i = 0; i < list.size(); i++) {
   
   if (list.size()==1) {
    System.out.println(list.get(i));
   }else if (list.size()<14) {
    if (i==list.size()-1) {
     print();
     count++;
    }
   
   }else if(i%14==0||count%14==0){
    list.remove(i);
    print();
   }else if (i==list.size()-1) {
    print();
   }
  }
  
}
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马