提供一份JAVA约瑟夫生死者游戏源代码
时间: 2023-07-11 10:46:45 浏览: 76
以下是JAVA版本的约瑟夫生死者游戏的源代码:
```
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class JosephusGame {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入总人数:");
int n = scanner.nextInt();
System.out.println("请输入每次数到的第几个人:");
int m = scanner.nextInt();
List<Integer> left = new ArrayList<>(); // 剩余的人的编号
for (int i = 1; i <= n; i++) {
left.add(i);
}
List<Integer> eliminated = new ArrayList<>(); // 被抛弃的人的编号
int index = 0; // 记录删除人的位置
while (left.size() > n / 2) {
index = (index + m - 1) % left.size();
eliminated.add(left.get(index));
left.remove(index);
}
// 输出结果
System.out.println("总人数:" + n + " 剩余人数:" + left.size());
System.out.print("被抛弃的人的编号:");
for (int i = 0; i < eliminated.size(); i++) {
System.out.print(eliminated.get(i) + " ");
}
System.out.println();
System.out.print("剩余每个人的编号(从小到大排序):");
left.sort(null);
for (int i = 0; i < left.size(); i++) {
System.out.print(left.get(i) + " ");
}
System.out.println();
}
}
```
使用时,只需要按照提示输入总人数和每次数到的第几个人即可。
阅读全文