黑马程序员技术交流社区
标题: 一个小游戏 求代码 [打印本页]
作者: 0825王欢 时间: 2015-8-31 06:59
标题: 一个小游戏 求代码
有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
作者: zhuhaoming 时间: 2015-8-31 12:31
你猜{:2_36:}{:2_36:}
作者: freehello 时间: 2015-8-31 13:12
有点意思
作者: freehello 时间: 2015-8-31 14:12
本帖最后由 freehello 于 2015-8-31 14:14 编辑
- import java.util.ArrayList;
- import java.util.Iterator;
- public class Main{
- public static void main(String args[]){
- ArrayList<Integer> arrayList = new ArrayList<>();
- arrayList.add(1);
- arrayList.add(2);
- arrayList.add(3);
- arrayList.add(4);
- arrayList.add(5);
- arrayList.add(6);
- arrayList.add(7);
- arrayList.add(8);
- arrayList.add(9);
- arrayList.add(10);
- System.out.println(findMe(arrayList,1));
- }
-
- /**
- * 利用数组链表表示队列,对队列进行递归处理找出3移除
- * @param persons 表示 队列
- * @param i 传递队列尾部时的计数(1、2、3)
- * @return 找到的人
- */
- public static int findMe(ArrayList<Integer> persons,int i) {
-
- int nub = i;
-
- Iterator<Integer> iterator = persons.iterator();
- if(persons.size() == 1)
- return persons.get(0);
- while(iterator.hasNext()) {
- iterator.next();
- if(nub == 3 ) {
- iterator.remove();
- nub = 1;
- }else {
- nub++;
- }
- }
- findMe(persons,nub);
- return persons.get(0);
- }
- }
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |