约瑟夫代码
输入玩家人数和淘汰数值。
import java.util.Scanner;
public class Test10 {
public static void main(String[] args) {
@SuppressWarnings("resource")
Scanner scanner = new Scanner(System.in);
System.out.print("请输入参与人数:");
int n = scanner.nextInt();
System.out.print("请输入淘汰数值:");
int outN = scanner.nextInt();
int[] states = new int[n];
int number = 0;
int index = 0;
while (true) {
if (states[index % states.length] == 0) {
if (++number == outN) {
states[index % states.length] = 1;
if (--n == 1) {
break;
}
number = 0;
}
}
index++;
}
for (int i = 0; i < states.length; i++) {
if (states[i] == 0) {
System.out.println("第" + (i + 1) + "个玩家取得胜利!");
break;
}
}
}
}