package ch02;public class Josephus {
private LList list;
public Josephus(int number,int start, int distance){
list = new SeqList(number);
for(int i=0; i<number; i++){
list.add((char)('A'+ i)+"");
}
System.out.print("Josephus:" + "number " + number + " start: " + start + " distance: " + distance);
System.out.println(this.list.toString());
int index = start - 1;
while(this.list.length() > 1){
index = (index + distance - 1) % this.list.length(); //这个公式怎么求出来滴
System.out.print("remove:" + list.remove(index)+ ",");
System.out.println(list.toString());
}
System.out.println("End: " + this.list.get(0));
}
public static void main(String[] args) {
new Josephus(5,1,2);
}}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货