package com.someusefuldesign.demo;
import java.util.ArrayList;
/*约瑟夫环*/
public class YueshefuCircle {
public static void main(String[] args) {
int [] A=new int []{1,2,3,4,5,6,7,8,9,10};
YueshefuCircle.Yuesefu(A, 3);
}
//A数组,初始化约瑟夫环,n表示报到第几个数的人出局
public static void Yuesefu(int [] A,int n){
ArrayList<Integer> start=new ArrayList<Integer>();
//初始化环
for(int i=0;i<A.length;i++){
start.add(A[i]);
}
int gap=0;
//实现约瑟夫环的主体
while(start.size()>0){
gap=gap+n;
gap=gap%start.size()-1;
if(gap>=0){
System.out.print(start.get(gap)+" ");
start.remove(gap);
}else{
System.out.print(" "+start.get(start.size()-1));
start.remove(start.size()-1);
}
}
}
}
约瑟夫环
最新推荐文章于 2024-11-14 15:54:34 发布