黑马程序员技术交流社区

标题: 给据问题回答 [打印本页]

作者: 王家胜    时间: 2013-12-4 13:27
标题: 给据问题回答
有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
作者: 王家胜    时间: 2013-12-5 10:27
怎么没人回
作者: kongling    时间: 2013-12-5 12:10
实现代码:
  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.         }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2