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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ylca 中级黑马   /  2016-7-15 00:55  /  710 人查看  /  9 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。然后其他人重新开始,从1报数,到14退出。问:最后剩下的是100人中的第几个人?
  1.         private static int myGetNumber(int i) {
  2.                 ArrayList<Integer> list = new ArrayList<>();
  3.                 for (int j = 1; j <= i; j++) {
  4.                         list.add(j);
  5.                 }
  6.                 System.out.println(list);
  7.                 int count = 0;
  8.                 while (list.size() > 1) {
  9.                         Iterator<Integer> it = list.iterator();
  10.                         while (it.hasNext()) {
  11.                                 int n = it.next(); // 定义n表示具体元素
  12.                                 count++;
  13.                                 if (count % 14 == 0) {
  14.                                         System.out.println("当前删除的元素是:" + n);
  15.                                         it.remove();
  16.                                 }
  17.                         }

  18.                 }
  19.                 return list.get(0);
  20.         }
复制代码

评分

参与人数 1黑马币 +10 收起 理由
天霸动霸 + 10 神马都是浮云

查看全部评分

9 个回复

倒序浏览
不错!!!!!!
回复 使用道具 举报
mark,到时自己写写看
回复 使用道具 举报
不错!!!多谢分享!
回复 使用道具 举报
cat73 黑马帝 2016-7-15 18:32:02
报纸
程序员一言不合就开始遍历。。。
回复 使用道具 举报
日常日常.....
回复 使用道具 举报
不错 ,收藏
回复 使用道具 举报
谢谢分享,很不错
回复 使用道具 举报
谢谢分享~
回复 使用道具 举报
看不懂。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马