输入第一行为整数m表示有m组测试数据,接下来m行每行一个整数N,N不超过50。
输出m行,每行表示题目所求,用空格隔开。
1 4
3 2 4 1
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<limits.h>
int main()
{
int n;
scanf("%d",&n);
while(n>0)
{
int num;
scanf("%d",&num);
int len=num;
int people[num];
for(int i=0;i<num;i++)
{
people[i]=i;
}
int index=0;
while(len>0)
{
//报数1
while(people[(index+num)%num]==-1)
index++;
index++;
//报数2
while(people[(index+num)%num]==-1)
index++;
index++;
//报数3
while(people[(index+num)%num]==-1)
index++;
printf("%d ",people[(index+num)%num]+1);
people[(index+num)%num]=-1;
index++;
len--;
}
printf("\n");
n--;
}
}