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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 没说的话…… 中级黑马   /  2014-12-13 20:58  /  966 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。
然后其他人重新开始,从1报数,到14退出。问:最后剩下的是100人中的第几个人?
public class Test10 {

        public static void main(String[] args) {
                //定义个带泛型的list集合
                List<Integer> list = new ArrayList<Integer>();
                //给集合添加元素
                for (int i = 1; i <= 100; i++) {
                        list.add(i);

                }

                int last = lastOne(list);
                System.out.println("最后剩下第" + last + "个人");

        }
       
        public static int lastOne(List<Integer> list) {
                //定义一个计数器
                int count = 0;
                //进行运算
                while (list.size() > 1) {
                        count++;
                        //将int封装成Integer类型
                        Integer mun = (Integer) list.remove(0);
                        //进行判断,只要是不等于14就进行添加
                        if (count != 14)
                                list.add(mun);
                        //如果计数器等于14,也就是到14个人了,就将计数器归零
                        if (count == 14) {
                                //System.out.println("移除第" + mun + "个人");
                                count = 0;
                        }

                }
                return list.get(0);

        }
}

7 个回复

倒序浏览
大锅们!小弟急需两点技术分弄播客啊!求送两点
回复 使用道具 举报
楼主已经进入了考试阶段??
回复 使用道具 举报
boycechan 发表于 2014-12-13 22:04
楼主已经进入了考试阶段??

播客刚写完  把以前上课老师的总结抽一部分复制
回复 使用道具 举报
没说的话…… 发表于 2014-12-13 21:30
大锅们!小弟急需两点技术分弄播客啊!求送两点

积分可以换取技术分的   
回复 使用道具 举报
楼主辛苦了,十分感谢
回复 使用道具 举报
谢谢楼主分享!
回复 使用道具 举报
与梦逆风而行 发表于 2014-12-13 22:34
积分可以换取技术分的

我也试过,只是一直显示密码错误
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马