题解 | 围圈报数
围圈报数
https://www.nowcoder.com/practice/b033062d346c4e42a7191b94164c1cd7
#include<iostream>
using namespace std;
const int N = 55;
int ne[N];
int main() {
int n, m;
cin >> n;
for (int i = 0; i < n; i++) {
cin>>m;
for (int i = 1; i < m; i++) {
ne[i] = i + 1;
}
ne[m] = 1;
int p = m;
//进行围圈报数
for (int i = 1; i <= m; i++) {
p = ne[ne[p]];
cout << ne[p] << ' ';
ne[p] = ne[ne[p]];
}
puts("");
}
}
联想公司福利 1500人发布