数组方式(十个人,数到3赋值零)
package 约瑟夫环;
import java.util.Arrays;
public class Test1 {
public static void main(String[] args) {
int[] brr=new int[10];
for(int i=0;i<10;i++) {
brr[i]=i+1;
}
System.out.println(Arrays.toString(brr));
int k=0;
int m=0;
for(int i=0;m<10;i++) {
i=i%brr.length;
if(brr[i]!=0) {
k++;
if(k%3==0) {
m++;
System.out.print(brr[i]+" ");
brr[i]=0;
k=0;
}
}
}
System.out.println();
System.out.println(Arrays.toString(brr));
}
}
集合方式(十个人,数到四就出队)
package 约瑟夫环;
import java.util.ArrayList;
import java.util.List;
public class Test2 {
public static void main(String[] args) {
List<Integer> list=new ArrayList<>();
for(int i=1;i<11;i++) {
list.add(i);
}
System.out.println(list);
int i=0;
while(list.size()>0) {
i=i+3;
i=i%list.size();
if(list.toArray()[i]!=null) {
System.out.print(list.toArray()[i]+" ");
// System.out.println(list);
list.remove(i);
}
}
}
}