早起的鸟儿有虫吃,瞎写的代码有Bug!
1-2-3-4-5-6-7-8-9-10-
1-2-3-4-5-7-8-9-10-
2-3-4-5-7-8-9-10-
2-3-4-5-8-9-10-
2-4-5-8-9-10-
2-4-5-8-9-
2-4-5-8-
4-5-8-
4-8-
4
public int getResult(int n,int start,int step){
int[] all=null;
if(all==null){
all=new int[n];
for(int i=0;i<n;i++){
all[i]=i+1;
}
}
int startIndex=start%n-1;
while(all[1]!=0){
for(int i=0;i<n;i++){
System.out.print(all[i]+"-");
}
System.out.println();
int removeIndex=(startIndex+step-1)%n;
startIndex=removeIndex;
while(removeIndex<n-1){
all[removeIndex]=all[removeIndex+1];
removeIndex++;
}
all[n-1]=0;
n--;
}
System.out.println();
return all[0];
}
public static void main(String[] args) {
Demo01050_zy22 josephus=new Demo01050_zy22();
System.out.println(josephus.getResult(10, 2, 5));
}