100个人围成圈, 从第一个人开始从1开始报数,逢14的倍数的, 将当前人踢出游戏,最后问最后一个被踢出去的是刚开始100人的第几个人?

Posted 励志拿高薪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了100个人围成圈, 从第一个人开始从1开始报数,逢14的倍数的, 将当前人踢出游戏,最后问最后一个被踢出去的是刚开始100人的第几个人?相关的知识,希望对你有一定的参考价值。

public class TuoZhan01 {
    public static void main(String[] args) {
        //准备集合,将100个人放到集合中
        List<Integer> list = new ArrayList<>();
        for (int i = 1; i <= 100; i++) {
            list.add(i);
        }
        //定义变量描述报数
        int number = 0;
        //定义变量描述被删的索引
        int index = -1;
        //不断地报数,即死循环
        while (list.size() != 1) {
            number++;
            index++;
            //如果当前的索引值超出最大值,则需要重写开始
            if (index == list.size()) {
                index = 0;
            }
            //判断number是否是14的倍数,如果是则删除索引对应的人
            if (number % 14 == 0) {
                list.remove(index);
                index--;
            }
        }
        System.out.println(list);
    }
}

以上是关于100个人围成圈, 从第一个人开始从1开始报数,逢14的倍数的, 将当前人踢出游戏,最后问最后一个被踢出去的是刚开始100人的第几个人?的主要内容,如果未能解决你的问题,请参考以下文章