public class Josephu {
static int [] n= new int[20];
private int m;
private int k;
static int t;
public Josephu(int[] n, int m, int k) {
super();
Josephu.n = n;
this.m = m;
this.k = k;
}
static void init(){
for(int i=0;i<20;i++)
n[i]=i+1;
}
static void judge(){
if(t>20)
t=t-20;
if(n[t-1]==0)
{t++;
judge();}
}
public static void main(String[] args) {
int i=20;
init();
Josephu a = new Josephu(n,3,2);
t=a.k;
System.out.println("k="+a.k+" m="+a.m+" n="+i);
do{
t=t+a.m;
judge();
System.out.print(n[t-1]+" ");
n[t-1]=0;
i--;
}while(i>0);
}}
运行结果:
k=2 m=3 n=20
5 8 11 14 17 20 3 6 9 12 15 18 1 4 7 10 13 16 19 2
Josephu
最新推荐文章于 2022-04-08 16:53:44 发布