- package com.text06;
- import java.util.ArrayList;
- public class Demo {
- /**
- *
- * 有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。
- * 然后其他人重新开始,
- * 从1报数,到14退出。问:最后剩下的是100人中的第几个人?
- *
- *
- */
- public static void main(String[] args) {
- // 创建一个集合
- ArrayList<Integer> arrList = new ArrayList<Integer>();
- // 利用循环向集合中添加100个元素
- for(int i = 1;i<=100;i++){//用数字代替100 个人
- arrList.add(i);
- }
- // 利用循环控制,报数为14的退出
- int count = 0;//定义一个计数器
- loop:
- while(true){
- for (int i = 0; i < arrList.size(); i++) {
- count++;
- if (count %14 == 0) {//能被14整除,说明是数到14的元素
- arrList.remove(i);
- i--;
- }
- else if(arrList.size()<14){
- break loop;
- }
- }
- }
- // 遍历最后剩下的元素
- System.out.println(arrList);
- }
- }
复制代码 |