黑马程序员技术交流社区

标题: 解答“五一技术分大派送之二 ”附送运行截图 [打印本页]

作者: 倾锋落颖花    时间: 2014-4-30 13:50
标题: 解答“五一技术分大派送之二 ”附送运行截图
哦,原来是这样回答,才符合版规。题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。


集体代码如下:



2014-04-30_134424.png (158.17 KB, 下载次数: 17)

Code

Code

2014-04-30_134441.png (56.27 KB, 下载次数: 16)

Result

 Result

作者: 王震阳老师    时间: 2014-4-30 13:56
技术分会在原板块中给予,还有跟多的基础题,希望你看看,我检查过代码的准确性后技术分就会给。技术分活动的目的在于监测自己的基础知识掌握的怎么样
作者: 倾锋落颖花    时间: 2014-4-30 14:05
王震阳 发表于 2014-4-30 13:56
技术分会在原板块中给予,还有跟多的基础题,希望你看看,我检查过代码的准确性后技术分就会给。技术分活动 ...

好多,先谢谢了:P
作者: fendoubuxi    时间: 2014-4-30 22:51
7呢?7也会剩下的,无论如何都会剩下两个人的呀,除非n=1,因为你最后一轮只能淘汰一个人是吧,那最后那组三个人肯定会剩下俩人的!
作者: fendoubuxi    时间: 2014-4-30 22:55
他们是排成圈的。。。所以一直减人,最后肯定剩下三个人,然后淘汰一个剩两个的
作者: alucard    时间: 2014-5-1 00:41
对楼猪只能说,你太伟大了!!

作者: Lin0411    时间: 2014-5-1 20:36
看看各位的成果。。。。
作者: iloveyou    时间: 2014-5-1 23:34
啧啧,不简单
作者: 攀攀    时间: 2014-5-2 17:13
嗯嗯  不错  
作者: 满兴旺    时间: 2014-5-2 18:50
你好你好你好你好你好你好你好你好你好你好你好你好你好你好
作者: 满兴旺    时间: 2014-5-2 18:54
第一个人是0号还是1号??
作者: 满兴旺    时间: 2014-5-2 18:56
本帖最后由 满兴旺 于 2014-5-4 17:49 编辑

BaoShu.zip (1014 Bytes, 下载次数: 300) ,共同进步
  1. package cn.itcast.test;

  2. import java.util.*;
  3. import java.io.*;

  4. class Person
  5. {
  6.         private int id;
  7.         Person(int id)
  8.         {
  9.                 this.id=id;
  10.         }
  11.         public String toString()
  12.         {
  13.                 return "我是第"+id+"个人";
  14.         }
  15. }
  16. public class BaoShu
  17. {       
  18.         public static void sop(Object obj)
  19.         {
  20.                 System.out.println(obj);
  21.         }
  22.                
  23.         public static void main(String[] args) throws Exception
  24.         {
  25.                 BufferedReader bufr=
  26.                 new BufferedReader(new InputStreamReader(System.in));
  27.                
  28.                 System.out.println("请输入要报数的人数(不要太过分哦):");
  29.                
  30.                 String personNumber=bufr.readLine();

  31.                  int PersonNumber=Integer.parseInt(personNumber,10);

  32.                
  33.                 ArrayList<Person> persons=new ArrayList<Person>();
  34.                
  35.                 for(int i=0;i<PersonNumber;i++)
  36.                 {
  37.                         persons.add(new Person(i+1));
  38.                 }
  39.                
  40.                 sop("您所输入的人数是:"+persons.size());
  41.                
  42.                 int count=1;
  43.                 int i=0;
  44.                 while(i<persons.size()&&persons.size()>1)
  45.                 {
  46.                         if(count==0)
  47.                         {
  48.                                 sop(persons.get(i)+"报数:"+count+" i:"+i+"  size="+persons.size()+"我走了");
  49.                                 persons.remove(i);
  50.                                 if(i==persons.size())//这里是为了防止i大于数组中的最大坐标值
  51.                                 {
  52.                                         i=0;
  53.                                 }
  54.                                 count=(count+1)%3;                                                                                                                                                                                                                                                                                                                                                                                                                    
  55.                         }else
  56.                         {
  57.                                 sop(persons.get(i)+"报数:"+count+" i:"+i+"  size="+persons.size());
  58.                                 i=(i+1)%persons.size();
  59.                                 count=(count+1)%3;
  60.                         }
  61.                 }
  62.                 sop("接下来请留下来的人自我介绍一下:"+persons);
  63.         }
  64. }
复制代码




作者: 362688114    时间: 2014-5-5 11:56
看看。。。
作者: 362688114    时间: 2014-5-5 12:07
顶一个!
作者: lvc    时间: 2014-5-7 03:19
你是在求解约瑟夫环。用顺序表求解
作者: 李小新H    时间: 2014-5-7 07:15
表示看不太懂啊!




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