使用JAVALinkedList解决约瑟夫圆环问题

import java.util.LinkedList;
import java.util.Scanner;

public class yueSeFuHuan {

	public static void main(String[] args) {
		int leftnum = 0;
		int x = 0;
		LinkedList list = new LinkedList();
		Scanner console = new Scanner(System.in);
		int num = console.nextInt();
		for(int i = 1; i <= num; i++ ){
			list.add(i);
		}
		System.out.println("建立的号码队列" + list);
		while(list.size()>1){
		for(int j = 0;j < list.size();j ++){
			leftnum++;
			if(leftnum == 3){
				x = (int) list.get(j);
				list.remove(j);		 
				leftnum = 1;
				if(j == list.size()||leftnum == 3){
					leftnum = 0;
				}
				System.out.println("被去掉的号码" + x);
				System.out.println("剩下的号码" + list);
			}
			
		}
		}
		System.out.println(list);
	}

}

 

    原文作者:约瑟夫环问题
    原文地址: https://blog.csdn.net/weixin_44439085/article/details/88734174
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞