13,825
社区成员
发帖
与我相关
我的任务
分享
#include <bits/stdc++.h>
using namespace std;
int a[10];
int n;
void dg(int m,int a[])
{
if(m==n)
{
for(int i=1;i<=n;i++)
{
printf("%d",a[i]);
}
printf("\n");
}
for(int i=m;i<=n;i++)
{
int temp = a[m];
a[m] = a[i];
a[i] = temp;
dg(m+1, a);
temp = a[m];
a[m] = a[i];
a[i] = temp;
}
}
int main()
{
int m;
scanf("%d",&m);
while(m--)
{
memset(a,0,sizeof(a));
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
a[i]=i;
}
dg(1,a);
printf("\n");
}
return 0;
}
这是结果,有细小差别