拍7游戏,很多人都玩过,现在我们的规则是这样的,N个人围坐一圈,编号分别是1-N,从编号为1的人开始依次报数(当然从1开始报数),凡是报到的数字含有7或是7的倍数的人退出游戏。 请你编程求出每一个退出游戏人的编号。c++
时间: 2024-05-15 13:13:37 浏览: 7
可以使用模拟的方法来解决这个问题。
具体步骤如下:
1. 用一个布尔数组记录每个人是否已经退出游戏。初始时所有人都没有退出游戏,因此数组中所有元素都应该是false。
2. 设定一个计数器,表示当前报的数是几。
3. 从编号为1的人开始,依次报数,每次报数后计数器加1。
4. 如果当前报的数包含7或是7的倍数,就将该人标记为已退出游戏,即在布尔数组中将相应的元素设为true。
5. 继续下一个人报数,直到只剩下一个人没有退出游戏为止。
下面是代码实现:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;
cout << "请输入游戏人数:";
cin >> n;
vector<bool> is_out(n, false); // 初始化布尔数组,所有人都没有退出游戏
int count = 1; // 计数器,表示当前报的数是几
int out_count = 0; // 已经退出游戏的人数
while (out_count < n - 1) { // 只要还剩下两个及以上的人没有退出游戏,就继续游戏
for (int i = 0; i < n; i++) {
if (is_out[i]) { // 如果这个人已经退出游戏,就跳过
continue;
}
if (count % 7 == 0 || count % 10 == 7) { // 当前报的数包含7或是7的倍数
is_out[i] = true; // 将该人标记为已退出游戏
cout << "编号为" << i + 1 << "的人退出游戏。" << endl;
out_count++; // 已经退出游戏的人数加1
}
count++; // 计数器加1
}
}
// 输出剩下的那个人的编号
for (int i = 0; i < n; i++) {
if (!is_out[i]) {
cout << "最后剩下的是编号为" << i + 1 << "的人。" << endl;
break;
}
}
return 0;
}
```
相关推荐
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)