#include <bits/stdc++.h>
using namespace std;
const int size = 5001;
int n, m, q[size + 1], front = 1, rear = size;
int main() {
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
rear = rear % size + 1;
q[rear] = i;
}
int x = 0, i = 1, psum;
while (rear % size + 1 != front) {
psum = n - i + 1;
x++;
int y = q[front];
front = front % size + 1;
m = (i * i) % psum;
if (!m) {
printf("%d ", q[rear]), i++;
x = 0;
rear --;
} else if (x == m) {
printf("%d ", y), i++;
x = 0;
} else
rear = rear % size + 1, q[rear] = y;
}
return 0;
}
会出错,大家指正指正