Java解决约瑟夫问题

Java解决约瑟夫问题,第1张

1.介绍
问题:

n 个人围成一圈,从第一个人开始报数,数到 mm 的人出列,再由下一个人重新从 11 开始报数,数到 mm 的人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。

问题来源:约瑟夫问题 - 洛谷https://www.luogu.com.cn/problem/P1996

说明:

本次代码中为图方便,使用了jdk自带的队列。这题也可以借助数组模拟的队列双端链表模拟的队列来做。 

2.代码实现 
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
/**
 * 解决约瑟夫问题
 * @author CharlieLiang
 *
 */
public class Main {

	public static void main(String[] args) {
		Scanner in=new Scanner (System.in);
		int n=in.nextInt();
		int m=in.nextInt();
		//jdk自带的队列
		Queue queue=new LinkedList();
		
		for(int i=0;i
 运行结果

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/870894.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)