joseph环c++
时间: 2023-10-19 17:09:35 浏览: 109
joseph环(C++)
4星 · 用户满意度95%
好的,你的问题是 "joseph环c++",我来为你解答。
Joseph环问题是一个经典的问题,它的描述是:有n个人围成一圈,从第一个人开始报数,报到m的人出圈,然后从下一个人开始重新报数,直到剩下最后一个人。这个问题可以用链表、数组、递归等多种方式来实现。下面是一个使用数组实现的C++代码示例:
```c++
#include <iostream>
using namespace std;
int joseph(int n, int m) {
int a[n];
for (int i = 0; i < n; i++) {
a[i] = i + 1;
}
int i = 0;
while (n > 1) {
i = (i + m - 1) % n; for (int j = i; j < n - 1; j++) {
a[j] = a[j + 1]; }
n--;
}
return a[0];
}
int main() {
int n, m;
cin >> n >> m;
cout << joseph(n, m) << endl;
return 0;
}
```
阅读全文