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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

哦,原来是这样回答,才符合版规。题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。


集体代码如下:

游客,如果您要查看本帖隐藏内容请回复


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

Code

Code

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

Result

 Result

15 个回复

倒序浏览
技术分会在原板块中给予,还有跟多的基础题,希望你看看,我检查过代码的准确性后技术分就会给。技术分活动的目的在于监测自己的基础知识掌握的怎么样
回复 使用道具 举报
王震阳 发表于 2014-4-30 13:56
技术分会在原板块中给予,还有跟多的基础题,希望你看看,我检查过代码的准确性后技术分就会给。技术分活动 ...

好多,先谢谢了:P
回复 使用道具 举报
7呢?7也会剩下的,无论如何都会剩下两个人的呀,除非n=1,因为你最后一轮只能淘汰一个人是吧,那最后那组三个人肯定会剩下俩人的!
回复 使用道具 举报
他们是排成圈的。。。所以一直减人,最后肯定剩下三个人,然后淘汰一个剩两个的
回复 使用道具 举报
对楼猪只能说,你太伟大了!!
回复 使用道具 举报
看看各位的成果。。。。
回复 使用道具 举报
啧啧,不简单
回复 使用道具 举报
嗯嗯  不错  
回复 使用道具 举报
你好你好你好你好你好你好你好你好你好你好你好你好你好你好
回复 使用道具 举报
第一个人是0号还是1号??
回复 使用道具 举报
本帖最后由 满兴旺 于 2014-5-4 17:49 编辑

BaoShu.zip (1014 Bytes, 下载次数: 297) ,共同进步
  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. }
复制代码



回复 使用道具 举报
看看。。。
回复 使用道具 举报
顶一个!
回复 使用道具 举报
lvc 中级黑马 2014-5-7 03:19:08
15#
你是在求解约瑟夫环。用顺序表求解
回复 使用道具 举报
表示看不太懂啊!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马