约瑟夫生死游戏c语言
时间: 2023-12-25 10:30:33 浏览: 78
以下是使用C语言实现约瑟夫生死游戏的代码:
```c
#include <stdio.h>
#define MAX_SIZE 30
int josephus(int n, int k) {
int i, last;
int arr[MAX_SIZE];
// 初始化数组
for (i = 0; i < n; i++) {
arr[i] = i + 1;
}
// 开始游戏
last = 0;
for (i = n; i > 1; i--) {
last = (last + k - 1) % i;
printf("%d ", arr[last]);
// 将被扔下大海的位置标记为0
arr[last] = 0;
}
// 找到剩下的最后一个位置
for (i = 0; i < n; i++) {
if (arr[i] != 0) {
return arr[i];
}
}
return -1;
}
int main() {
int n = 30; // 旅客总数
int k = 9; // 报数的间隔
printf("被扔下大海的位置:");
int result = josephus(n, k);
printf("%d\n", result);
return 0;
}
```
阅读全文