import java.util.Scanner;
public class joseph {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner s = new Scanner(System.in);
System.out.println("输入总人数:");
int total = s.nextInt();
System.out.println("输入报名数:");
int num = s.nextInt();
Node n1 = new Node(1);
Node pointer = n1;
for (int i = 2; i <= total; i++) {
pointer.next = new Node(i);
pointer = pointer.next;
}
pointer.next = n1;
while (pointer != pointer.next) {
for (int i = 1; i < num; i++) {
pointer = pointer.next;
}
System.out.println(pointer.next.number);
pointer.next = pointer.next.next;
}
System.out.println(pointer.number);
}
}
分享到:
相关推荐
约瑟夫出圈问题,又称为约瑟夫环问题,是一个经典的理论计算机科学问题,源自古罗马的一个传说。在这个问题中,人们围成一个圈,按照一定的规则进行报数,报到特定数值的人会被淘汰,然后剩下的人继续报数,直到只...
Java 实现约瑟夫出圈问题,又称为约瑟夫环问题,是一个经典的计算机科学算法问题,涉及到循环链表和数组的数据结构以及递归或循环的编程思想。在这个问题中,我们假设有一群人围成一个圈,从第一个人开始顺时针报数...
cpp文件内采用两种方式实现经典的约瑟夫出圈问题,分别以数组方式和链表方式实现。同时,也可以实现直接输出最后的获胜者。
解决约瑟夫出圈问题的实现代码,大家共享 如果你有更好的资源,请给我来一份 package maicle; import java.util.LinkedList; public class Linklist { static int M=5;//选择第几个人出圈 static int N=10;//人数 ...
约瑟夫问题的基本设定是:假设有一群人围成一个圈,按照一定的顺序报数,每报到特定数字的人会被排除出圈,然后从下一个人继续开始报数,直到只剩下最后一个人为止。问题的关键在于找到最后幸存者的编号或者位置。 ...
约瑟夫(Joseph)出圈问题 C++
约瑟夫出圈问题源码,corejava实现
N个人围成一圈,从第一个人开始按顺序报数并编号1,2,3,……N,然后开始从第一个人转圈报数,凡是报到3的退出圈子。则剩下的最后一个人编号是多少。 定义一个类,然后在类前定义一个结构体 2、在类中定义一个链表...
约瑟夫问题源自一个经典的数学问题,该问题描述了这样的场景:N个人围成一个圈,并按照某种规则依次淘汰,直到只剩下一个人为止。具体规则是:从某人开始报数,数到指定数字(M)的人将被淘汰出局,然后从下一个人...
设有n各人坐在一圈,并按顺时钟方向从1到n编号,从第s个人开始进行1到m的报数,报到第m个人,此人出圈,再从他的下一个人重新开始从1到m的报数,如此进行下去直到所有的人出去为止。要求按出圈次序每十人为一组,给...
用循环单向链表解决约瑟夫问题 原题: 设有n个人站成一圈,每个人持有一个密码(正整数)。现从第t个人开始,按顺时针方向“1,2,3,4,…”循环报数,数到m1(第t个人所持密码)的人出列,然后从出列者的下一个人重新...
问题的基本设定是:人们按照一个固定的顺序站成一个圆圈,然后从某个人开始按顺时针方向计数,每数到特定数值的人就会被排除出圈,直到只剩下最后一个人为止。这个最后剩下的一个人被称为“幸存者”。 在编程领域,...
该问题的基本设定是:人们围成一个圈,从某个人开始按顺时针方向依次报数,数到特定数值的人出圈,然后下一个人继续从1开始报数,直到剩下最后一个人为止。问题的关键在于找出最后留在圈内的人。在计算机科学领域,...
"约瑟夫环"(Josephus Problem)是一个著名的理论问题,源自古罗马时期的传说。它在计算机科学中常被用来探讨算法和数据结构的应用。在这个问题中,人们站成一个圈,按照一定的步数顺序淘汰,最后剩下的那个人将获得...
该问题的基本设定是:一组人围成一个圆圈,按照顺时针方向从某个人开始计数,每当数到特定数值的人就会被剔除出圈,然后从下一个人继续计数,直到只剩下最后一个人为止。问题的目标是找出这个最后幸存者的位置。 在...
在这个问题中,人们站成一个圆圈,按照顺时针方向从某个人开始报数,每次数到特定数值的人将被剔除出圈,然后从下一个人继续报数,直到只剩下最后一个人为止。这个最后幸存者被称为约瑟夫幸存者。问题的关键在于找到...
问题描述如下:n个人围成一个圈,从某个人开始编号,第1个被选中的人出局,然后从下一个人开始继续计数,数到第m个人再出局,如此循环下去,直到只剩最后一个人为止。这个最后剩下的一个人就是获胜者。在实际的编程...
约瑟夫环问题,也称为约瑟夫问题,是一个经典的理论问题,源于古罗马时期的传说。问题描述了一群人围坐成一个圆圈,按照一定的规则进行报数,每数到特定数字的人会被排除,直到所有人都被排除。在这个场景中,我们...