有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。然后其他人重新开始,从1报数,到14退出。问:最后剩下的是100人中的第几个人?

原创 2016年06月01日 20:12:38
1.有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。然后其他人重新开始,从1报数,到14退出。

  问:最后剩下的是100人中的第几个人?

import java.util.LinkedList;
import java.util.List;
public class Test10 {
	public static void main(String[] args) {
        game(100, 14);
}

public static void game(int person, int num) {
        List<Integer> list = new LinkedList<Integer>();
        for (int i = 1; i <= person; i++) {
                list.add(i);
        }
        int pos = 0;
        while (list.size() > 1) {
                pos = (pos + num - 1) % list.size();
                list.remove(pos);

        }
        System.out.println(person + "人玩数" + num +
                        ",最后剩下的是第" + list.get(0) + "人");
 }
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

【程序37】Test3Quit.java 题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最 //后留下 的是原来第几号的那位。

//【程序37】 Test3Quit.java 题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最 //后留下 的是原来第几号的那位。 import ...
  • u014657292
  • u014657292
  • 2014年04月12日 08:26
  • 1762

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

package 有n个人围成一圈顺序排号从第一个人开始报数;   /**   *    * @author 何虎   *   */   public class Person   {  ...
  • zengquan2014
  • zengquan2014
  • 2015年10月25日 09:58
  • 1311

C语言用数组1. 简单约瑟夫环问题: N个人,编号从1~N围成一圈,输入一个数T,从1号开始报数,报到T的人出圈;下一人又从1开始报数,下一个报到T的人出圈,输出出圈顺序。 考虑问实现约瑟夫环问题

1. 简单约瑟夫环问题: N个人,编号从1~N围成一圈,输入一个数T,从1号开始报数,报到T的人出圈;下一人又从1开始报数,下一个报到T的人出圈,输出出圈顺序。 考虑问题: 报到T的...
  • xs1997
  • xs1997
  • 2016年12月26日 18:50
  • 2229

五十道编程小题目 --- 37 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子 java

【程序37】  题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下 的是原来第几号的那位。  import java.util.Arra...
  • wangnanwlw
  • wangnanwlw
  • 2016年09月09日 11:13
  • 1098

n个人围成一圈,从第1个人开始报数,每报到第m个人,则其出局,求最后出局的人的初始序号

题目:n个人围成一圈,从第1个人开始报数,每报到第m个人,则其出局,求最后出局的人的初始序号 思路:通过建立单向循环链表实现,每次删除第m个节点,记录该节点的下一节点,从该节点开始从新数数。 pa...
  • mark555
  • mark555
  • 2014年03月28日 15:03
  • 958

有n个人围成一圈,从第1个人开始,1、2、3报数,报至3出局,余下的人继续从1、2、3报数,问:最后剩下的一人是原来的第几号?同时求出被淘汰编号的序列。(要求:用循环队列解决该问题。)

1. 有n个人围成一圈,从第1个人开始,1、2、3报数,报至3出局,余下的人继续从1、2、3报数,问:最后剩下的一人是原来的第几号?同时求出被淘汰编号的序列。(要求:用循环队列解决该问题。)...
  • yuanhangLVli
  • yuanhangLVli
  • 2015年04月18日 20:42
  • 4138

报数游戏 有n个孩子站成一圈,从第一个孩子开始顺时针方向报数,报到3的人出列,下一个人继续从1报数, 直到最后剩下一个孩子为止。问剩下第几个孩子。

/* 报数游戏 有n个孩子站成一圈,从第一个孩子开始顺时针方向报数,报到3的人出列,下一个人继续从1报数, 直到最后剩下一个孩子为止。问剩下第几个孩子。下面的程序以10个孩子为例,模拟了这个过程,...
  • hanshileiai
  • hanshileiai
  • 2013年04月28日 21:08
  • 4877

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

/*  * 程序的版权和版本声明部分:  * Copyright (c) 2012, 烟台大学计算机学院  * All rights reserved.  * 文件名称:有n个人围成一...
  • youshenxuzuo
  • youshenxuzuo
  • 2013年01月15日 19:52
  • 6964

有15个人围成一圈,顺序排号。从第一个人开始报数(从1~3报数),凡报到3的人退出圈子,问最后留下的人 C#版

今天下午,某一同学,问我一面试题,第一做法就是度娘了半天,发现都是c c++ 的   。遂参考逻辑、整理完一C# 版本的,留个小纪念 namespace ConsoleApplication1 {...
  • u012744024
  • u012744024
  • 2014年11月25日 18:09
  • 1202

约瑟夫问题-c基础第一课

约瑟夫问题 约瑟夫问题一般有两种解决方法,一种数组,一种链表,本次采用数组方式说明解决。 规则: n个人围成一个圈,每个人分别标注为1、2、...、n,要求从1号从1开始报数,报到k的人出圈,接着下...
  • weixin_39510813
  • weixin_39510813
  • 2017年07月18日 21:18
  • 113
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。然后其他人重新开始,从1报数,到14退出。问:最后剩下的是100人中的第几个人?
举报原因:
原因补充:

(最多只允许输入30个字)