- shilinhan's blog
约瑟夫问题
- 2024-12-17 18:24:07 @
#include <bits/stdc++.h>
using namespace std;
bool f[1005];
int main() {
for (int i = 0;i < 1005;i++) {
f[i] = true;
}
int n,m,i = 1;
cin >> n >> m;
int k = n;
while (k--) {
int c = 0;
while (c != m) {
c++;
while (!f[i]) {
i = i % n + 1;
}
if (c == m) {
break;
}
i = i % n + 1;
}
f[i] = false;
cout << i << " ";
i = i % n + 1;
}
return 0;
}