package test;
public class josephus {
public static void main(String args[]) {
int i, j, n=10, m=3;
int a[] = new int[n];
for (i = 0; i < n; i++) {
a[i] = i + 1;
}
int k = 1; //标识处理第k个离开的人
i = -1; //数组下标,下一个为0,即第一个人
while (true) //k等于n表示只剩下一个人了
{
for (j = 0; j < m;) //在圈中数m个人
{
i = (i + 1) % n;
if (a[i] > 0) {
j++; //a[i] >0表示第i个人还没有离开
}
}
if (k == n) {
break;
}
a[i] = -1; //表示该人离开
k++;
}
System.out.println("No." + a[i] + " is the winner!");
}
}