给定n,对1~n个数进行全排列,找出满足 ,i=3...n 的序列即可。简单数学题,即只要计算的两个数相差1时,pi%1是恒等于零的。
#include<cstdio>
const int N=1e5+10;
int main(){
int t,p[N];
scanf("%d",&t);
while(t--){
int n;
scanf("%d",&n);
int l=1,r=n;
for(int i=1;i<=n;i+=2)
p[i]=l++;
for(int i=2;i<=n;i+=2)
p[i]=r--;
for(int i=1;i<=n;i++)
printf("%d%c",p[i],i==n?'\n':' ');
}
return 0;
}