结果为92吧。
- import java.util.*;
- class test110
- {
- public static void main(String[] args)
- {
- //定义一个arraylist集合存储元素
- ArrayList<Integer> al = new ArrayList<Integer>();
- //向集合中添加100个元素(1-100数字)
- for(int i=1;i<=100;i++)
- {
- al.add(i);
- }
- method_1(al);
- }
- public static void method_1(ArrayList<Integer> al)
- {
- //此处定义一个集合,是为了方便后面删除元素用。
- ArrayList<Integer> buf = new ArrayList<Integer>();
-
- //定义一个计数器,记录大家的报数。
- int count=0;
- //一直循环报数(1-100转完一圈再继续转的意思),删除元素,直到只剩下一个元素
- while(true)
- {
- //判断元素是否为1
- if(al.size()>1)
- {
- //100个人内部1-14循环报数
- for(int index=0;index<al.size();index++)
- {
- //进入循环一次,计数器+1
- count++;
- //判断判断报的数是否为14的倍数,这里对1-14循环报数稍微做了下转换,应该不难理解
- if(count%14==0)
- {
- //如果该角标的报数为14的倍数,则将该元素添加到上面定义好的buf集合。
- buf.add(al.get(index));
- }
- }
- //一次性删除al集合中包含的buf集合中的元素。
- al.removeAll(buf);
- //清空buf集合
- buf.clear();
- }
- else
- break;
- }
- System.out.println(al);
- }
- }
复制代码 |