题意:
求一个n(1<=n<=1000)的排序使得差分的最小值最大。
思路:
每两个相邻的数都要求差,差分的最大值就是n/2,n从/2开始,每次累加n/2并输出,如大于n则开始的数-1继续上述步骤。
代码:
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int main() {
int t, n;
cin>>t;
while(t--) {
cin>>n;
for(int i=n/2; i>0; i--) {
int j = i;
while(j <= n) {
cout<<j<<' ';
j += n / 2;
}
}
cout<<endl;
}
}