`
BabyDuncan
  • 浏览: 584143 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

约瑟夫出圈问题

    博客分类:
  • J2SE
 
阅读更多
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实现约瑟夫出圈问题的解决

    Java 实现约瑟夫出圈问题,又称为约瑟夫环问题,是一个经典的计算机科学算法问题,涉及到循环链表和数组的数据结构以及递归或循环的编程思想。在这个问题中,我们假设有一群人围成一个圈,从第一个人开始顺时针报数...

    约瑟夫出圈问题的数组和链表实现方法

    cpp文件内采用两种方式实现经典的约瑟夫出圈问题,分别以数组方式和链表方式实现。同时,也可以实现直接输出最后的获胜者。

    约瑟夫出圈代码,轻松解决 使用LinkedList<Integer>

    解决约瑟夫出圈问题的实现代码,大家共享 如果你有更好的资源,请给我来一份 package maicle; import java.util.LinkedList; public class Linklist { static int M=5;//选择第几个人出圈 static int N=10;//人数 ...

    poj1012-Joseph【经典约瑟夫问题】

    约瑟夫问题的基本设定是:假设有一群人围成一个圈,按照一定的顺序报数,每报到特定数字的人会被排除出圈,然后从下一个人继续开始报数,直到只剩下最后一个人为止。问题的关键在于找到最后幸存者的编号或者位置。 ...

    约瑟夫(Joseph)出圈问题

    约瑟夫(Joseph)出圈问题 C++

    约瑟夫除权问题 corejava

    约瑟夫出圈问题源码,corejava实现

    约瑟夫退圈问题

    N个人围成一圈,从第一个人开始按顺序报数并编号1,2,3,……N,然后开始从第一个人转圈报数,凡是报到3的退出圈子。则剩下的最后一个人编号是多少。 定义一个类,然后在类前定义一个结构体  2、在类中定义一个链表...

    matlab解决约瑟夫问题

    约瑟夫问题源自一个经典的数学问题,该问题描述了这样的场景:N个人围成一个圈,并按照某种规则依次淘汰,直到只剩下一个人为止。具体规则是:从某人开始报数,数到指定数字(M)的人将被淘汰出局,然后从下一个人...

    约瑟夫环 次序表 出圈次序

    设有n各人坐在一圈,并按顺时钟方向从1到n编号,从第s个人开始进行1到m的报数,报到第m个人,此人出圈,再从他的下一个人重新开始从1到m的报数,如此进行下去直到所有的人出去为止。要求按出圈次序每十人为一组,给...

    数据结构 约瑟夫问题

    用循环单向链表解决约瑟夫问题 原题: 设有n个人站成一圈,每个人持有一个密码(正整数)。现从第t个人开始,按顺时针方向“1,2,3,4,…”循环报数,数到m1(第t个人所持密码)的人出列,然后从出列者的下一个人重新...

    约瑟夫问题代码,约瑟夫问题代码

    问题的基本设定是:人们按照一个固定的顺序站成一个圆圈,然后从某个人开始按顺时针方向计数,每数到特定数值的人就会被排除出圈,直到只剩下最后一个人为止。这个最后剩下的一个人被称为“幸存者”。 在编程领域,...

    约瑟夫问题 c++实现

    该问题的基本设定是:人们围成一个圈,从某个人开始按顺时针方向依次报数,数到特定数值的人出圈,然后下一个人继续从1开始报数,直到剩下最后一个人为止。问题的关键在于找出最后留在圈内的人。在计算机科学领域,...

    C语言“约瑟夫环”问题实现

    "约瑟夫环"(Josephus Problem)是一个著名的理论问题,源自古罗马时期的传说。它在计算机科学中常被用来探讨算法和数据结构的应用。在这个问题中,人们站成一个圈,按照一定的步数顺序淘汰,最后剩下的那个人将获得...

    约瑟夫环问题,查找出出队列的顺序

    该问题的基本设定是:一组人围成一个圆圈,按照顺时针方向从某个人开始计数,每当数到特定数值的人就会被剔除出圈,然后从下一个人继续计数,直到只剩下最后一个人为止。问题的目标是找出这个最后幸存者的位置。 在...

    约瑟夫问题(已编译完成)

    在这个问题中,人们站成一个圆圈,按照顺时针方向从某个人开始报数,每次数到特定数值的人将被剔除出圈,然后从下一个人继续报数,直到只剩下最后一个人为止。这个最后幸存者被称为约瑟夫幸存者。问题的关键在于找到...

    约瑟夫问题的一个题目及源代码

    问题描述如下:n个人围成一个圈,从某个人开始编号,第1个被选中的人出局,然后从下一个人开始继续计数,数到第m个人再出局,如此循环下去,直到只剩最后一个人为止。这个最后剩下的一个人就是获胜者。在实际的编程...

    约瑟夫环问题用C++代码实现

    约瑟夫环问题,也称为约瑟夫问题,是一个经典的理论问题,源于古罗马时期的传说。问题描述了一群人围坐成一个圆圈,按照一定的规则进行报数,每数到特定数字的人会被排除,直到所有人都被排除。在这个场景中,我们...

Global site tag (gtag.js) - Google Analytics