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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王家胜 中级黑马   /  2013-12-4 13:27  /  1105 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

2 个回复

倒序浏览
怎么没人回
回复 使用道具 举报
实现代码:
  1. public static void fun2(int n)
  2.         {
  3.                 ArrayList<Integer> list=new ArrayList<Integer>();
  4.                 for(int i=1;i<=n;i++)
  5.                 {
  6.                         list.add(i);
  7.                 }
  8.                
  9.                 int num=1;
  10.                 int index=0;
  11.                 while(list.size()>=3)
  12.                 {
  13.                         if(num==3)
  14.                         {
  15.                                 list.remove(index);
  16.                                 num=1;
  17.                         }
  18.                         else
  19.                         {
  20.                                 num++;
  21.                                 index++;
  22.                                 index=index%(list.size());
  23.                         }
  24.                 }
  25.                 for(int i=0;i<list.size();i++)
  26.                 {
  27.                         System.out.println(list.get(i));
  28.                 }
  29.         }
复制代码

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马