`
BabyDuncan
  • 浏览: 573538 次
  • 性别: 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);

	}

}

分享到:
评论

相关推荐

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

    用数组实现约瑟夫出圈问题。 n个人排成一圈,从第一个人开始报数,从1开始报,报到m的人出圈,剩下的人继续开始从1报数,直到所有的人都出圈为止。对于给定的n,m,编写程序求出所有人的出圈顺序。

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

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

    JAVA实现约瑟夫出圈问题的解决

    约瑟夫出圈问题:(用数组实现) 由m个人围成首尾相连的圈报数,从第1个人开始报,报到n的人出圈,剩下的人继续从1开始报数,直到所有的人出圈为止。对于给定的m和n(从键盘上输入),求出所有人的出圈顺序。

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

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

    约瑟夫(Joseph)出圈问题

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

    约瑟夫除权问题 corejava

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

    约瑟夫退圈问题

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

    约瑟夫环 次序表 出圈次序

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

    数据结构 约瑟夫问题

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

    约瑟夫问题

    问题表述: 约瑟夫问题的一种描述是:编号为1,2,••••,n的n个人安顺序时针方向围坐一圈,每个人持有一个密码(正整数)。一开始任选一个正整数作为报数的上限值m,从第一个人开始按顺指针方向自1开始顺序报...

    “约瑟夫环”问题求解 C语言

    约瑟夫环 问题求解 C语言 约瑟夫环 问题求解 C语言 约瑟夫环 问题求解 C语言

    约瑟夫问题源代码(c).docx

    约瑟夫问题:N个人围成一圈,从第一个人开始报数,数到M的人出圈;再由下一个人重新开始报数,数到M的人出圈;…输出依次出圈的人的编号。N,M由键盘输入。

    java实现约瑟夫环问题Josephus

    java实现约瑟夫环问题Josephus 约瑟夫问题 * 已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k(1,2,3...n)的人开始报数,数到m(1,2,3...)的那个人出列; * 他的下一个人又从1...求出圈顺序

    约瑟夫环问题求解代码code.docx

    约瑟夫环问题描述:编号为1,2,…,n的n个人按顺时针方向围成一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始报数,报到m时停止报数,报m的人出列,将...

    约瑟夫问题的解答

    约瑟夫问题是个有名的问题:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。例如N=6,M=5,被杀掉的顺序是:5,4,6,2,3,1。 分析: (1)由于对于每个人只有死和活两种...

    约瑟夫问题(C++)

     约瑟夫问题是个有名的问题:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。例如N=6,M=5,被杀掉的人的序号为5,4,6,2,3。最后剩下1号。  假定在圈子里前K个为好人,后K...

    约瑟夫环问题的链表和数组两种解法

    设有N个人围坐一圈并按顺时针方向从1到N编号,从第S个人开始进行1到M报数,报到第M个人时,此人出圈,再从他的下一个人重新开始1到M的报数,如此进行下去直到所有的人都出圈为止,打印出圈次序。

    约瑟夫环问题代码

    约瑟夫环问题,用循环链表实现,最后输出胜利者

Global site tag (gtag.js) - Google Analytics