`
michelecindy
  • 浏览: 175578 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

5n个人围成圈,报数为m的出局顺序问题

    博客分类:
  • Java
阅读更多
import java.util.ArrayList;
import java.util.List;

public class TestCircle {
  public static void to(int total, int number) {
    List<Integer> list = new ArrayList<Integer>(total);
    for (int i = 1; i <= total; i++) {
      list.add(i);
    }
    int begin = -1;
    while (total > 0) {
      begin += number;
      System.out.println(list.remove(begin % total));
      begin = (begin % total) - 1;
      total--;
    }
  }

  /**
   * @param args
   */
  public static void main(String[] args) {
    TestCircle.to(10, 3);
  }
}
分享到:
评论

相关推荐

    Python使用列表完成程序的编写:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到m报数),凡是报到m的人退出圈子,问最后留下的是原来第几号的人。

    这个问题要求我们模拟一个游戏,其中n个人围成一个圈,从第一个人开始按照1到m的顺序报数,每报到m的人就退出圈子,直到只剩一个人为止。我们要找出最后留在圈子里的人原来的编号。 在Python中,我们可以使用列表来...

    所有猴子从1到m进行编号并围坐一圈,从第一号开始按顺序1,2,...n继续报数,凡是报n号的猴子都退出到圈外,照此循环报数,直到圈内只剩下一只猴子时,这只猴子就是大王.输出大王的编号

    这种方法使用一个整型数组存储猴子的编号,并用一个计数器记录报数,当报数达到n时,淘汰当前猴子,然后重置计数器,直到数组中只剩下一个非零元素,这个元素的索引就是大王的编号。 在实际编程中,为了提高效率,...

    用数组实现约瑟夫出圈问题

    在这个问题中,人们围成一个圈,按照一定的规则进行报数,报到特定数值的人会被淘汰,然后剩下的人继续报数,直到只剩下最后一个人为止。这个最后的人被称为“幸存者”。在给定的场景中,我们要用数组来解决这个问题...

    有10个小孩围成一圈并依次编号,教师指定从第2个小孩开始报数,报到第3个小孩即令其出列

    有10个小孩围成一圈并依次编号,教师指定从第2个小孩开始报数,报到第3个小孩即令其出列。然后从下一个孩子继续报数,数到第3个小孩又令其出列,如此直到所有的孩子都出列。求小孩出列的先后顺序。

    猴子选大王的算法 (约瑟夫环)或称循环链表

    有M只猴子,依次按1到M的顺序坐好,然后从第一只猴子开始报数,数到N(N&lt;M)的那只猴子就出局,从下一只猴子开始重新开始数....依次...直到只剩下最后一只猴子,则那只猴子就是大王。 要求:只输入M N值,就可以得到...

    约瑟夫环代码,建立一个具有n个链结点的循环链表。

    具体来说,在这个问题中,有n个人按编号1至n围坐成一圈。从指定的某个人开始报数,数到指定数字m时,这个人就被淘汰出局。接下来,从被淘汰者的下一个人重新开始报数,数到m的人继续出局,如此循环直至所有人被淘汰...

    约瑟夫环改进问题,K个好人与K个坏人,好人出局之前坏人需全部出局

    假设n个人围成一个圈,每次从某个人开始按顺时针或逆时针方向每隔m个人淘汰一人,直至只剩一人为止。例如,当n=4, m=2时,序列会是"淘汰-保留-淘汰-淘汰",最后保留下来的是起始位置的人。 在这个改进版本中,我们...

    一个报数游戏js版(约瑟夫环问题)

    报数游戏,也被称作约瑟夫环问题,是一个著名的数学问题,它描述的是一种模拟的报数游戏,即一群人围成一圈,从某个人开始报数,每数到第三个数就出局,然后从下一个人继续报数,直到剩下最后一个人。这个游戏在编程...

    Josephu 问题

    问题描述如下:n个人围成一个圈,从编号为k的人开始顺时针报数,每数到m的人出局,下一个人继续从1开始报数,直至所有人都出局。目标是找出所有人的出列顺序。 在数据结构中,解决这个问题通常采用两种存储结构:...

    数据结构上机实验 约瑟夫问题 源代码

    在这个问题中,n个人围成一圈,每个人都有一个正整数密码,从第一个人开始按顺时针方向顺序报数,每报到m的人出局,然后从出局者的下一个人继续报数,新的m值变为出局者的密码。这个过程一直持续到所有人都出局为止...

    DiushouJuan.rar_M?n_circle game_diushou juan6363

    在这个场景中,我们面临的问题是:n个人围成一个圈,通过报数来确定第m个人出列,最终我们要找出最后剩下的人原本的位置。这个问题可以被抽象为一个循环序列的处理问题,涉及到循环、条件判断以及索引计算等基础编程...

    MFC界面 约瑟夫环

    实现一个游戏:N个玩家围成一个圆圈,玩家序号分别是1~N,顺势针排列;...例子:如有6个玩家,报数值为3,则玩家出局顺序为3-6-4-2-5-1 ---------------------------------------------- 仅供参考

    yuesefuhuan.rar_M?n

    这个问题描述了一个经典的游戏或算法,通常被称为"约瑟夫环"(Josephus Problem),在这个游戏中,人们围成一个圈按顺序报数,每报到特定数值"M"的人会被淘汰出局,然后从下一个人重新开始报数,直到只剩一个人为止...

    数据结构Ⅰ课程设计-约瑟夫环.doc

    本设计的主要目标是实现一个程序,模拟编号为1到n的人围成一圈报数,每报到m的人退出,然后从下一个人继续报数,直到所有人都退出为止。 在第1章问题描述中,给出了问题的具体背景:n个人围坐成一圈,每个人手持一...

    约瑟夫环问题的编程实现

    这个问题描述如下:假设有一群人围成一个圈,从某个人开始编号,然后按照顺时针方向依次报数,每当数到特定数值的人就会被淘汰出局,直到只剩下最后一个人为止。这个最后站立的人就是胜者。 在编程实现约瑟夫环问题...

    筛选号码1

    在这个游戏中,n 个人围成一个圈,按照一定的规则逐个出局,直到只剩一个人为止。具体规则是:从第一个人开始报数,报到 3 的人退出圈子,然后从下一个人重新开始报数,直至只剩一人。 首先,我们可以用模运算来...

    Josephus问题

    士兵们围成一个圈,从某个人开始报数,数到特定数字的人会被淘汰出局,然后游戏继续从被淘汰者的下一个人开始,直到只剩下最后一个人为止。这个最后幸存的人可以获得自由。 在这个问题中,给定的参数包括n(总人数...

    C语言课程设计试验报告

    问题描述:n个人围成一圈,按顺时针方向报数,每报到m的人出局,然后从下一个人继续报数,直到所有人都出局。程序需要输出每个人的出局顺序。 数据结构:使用单循环链表来模拟这个过程,链表节点包含每个人的...

    面试题-python3将N(N1....docx

    在这个游戏中,N个人围成一圈,从第一个人开始按顺序报数,每报到M的倍数的人就会被淘汰出局,直到只剩K个人为止。我们需要编写程序来模拟这个过程,并返回最后剩下的K个人的编号。 首先,理解问题的关键在于如何...

Global site tag (gtag.js) - Google Analytics