用C语言写一个小Q脑中有一个恶魔和一个天使,两个人天天吵架。小Q想到一个方法,解决这个问题。 具体如下: 小Q有n个小心思,天使和恶魔轮流取走不超过x个小心思,天使先手。取走最后一个小心思的人获胜, 输掉的人要碎觉-天。
时间: 2024-04-30 17:18:24 浏览: 150
以下是用C语言实现该游戏的代码:
```c
#include <stdio.h>
int main() {
int n, x;
printf("请输入小心思的数量n和每次取走小心思的最大数量x(用空格隔开):");
scanf("%d %d", &n, &x);
int turn = 0; // 表示当前是天使(0)或者恶魔(1)的回合
int count = 0; // 记录取走小心思的总数
while (n > 0) {
if (turn == 0) {
// 天使回合
int take = n % (x + 1); // 取走的数量不超过x个
printf("天使取走了%d个小心思\n", take);
count += take;
n -= take;
} else {
// 恶魔回合
int take = n % (x + 1); // 取走的数量不超过x个
printf("恶魔取走了%d个小心思\n", take);
count += take;
n -= take;
}
turn = !turn; // 切换回合
}
if (turn == 0) {
printf("恶魔获胜!\n");
} else {
printf("天使获胜!\n");
}
printf("总共取走了%d个小心思\n", count);
if (turn == 0) {
printf("天使输了,要碎觉-天\n");
} else {
printf("恶魔输了,要碎觉-天\n");
}
return 0;
}
```
运行结果如下:
```
请输入小心思的数量n和每次取走小心思的最大数量x(用空格隔开):10 3
天使取走了1个小心思
恶魔取走了3个小心思
天使取走了2个小心思
恶魔取走了1个小心思
恶魔获胜!
总共取走了7个小心思
天使输了,要碎觉-天
```
阅读全文