输入
输入只有一个数字N (0<8)
输出
输出由1~N这N个数字组成的全排列,按从小到大的顺序。
样例输入
3
样例输出
123 132 213 231 312 321
#include<bits/stdc++.h>
using namespace std;
int n;
int tt[9];
int repeat(int arr[],int n)
{
int i,j;
for(i=1; i<n; i++)
{
for(j=i+1; j<n+1; j++)
{
if(arr[i]==arr[j])
{
return 1;
}
}
}
return 0;
}
void di(int pt)
{
int i;
if(pt>n)
{
if(repeat(tt,n)==0)
{
for(i=1; i<=n; ++i)
{
printf("%d",tt[i]);
}
printf("\n");
}
}
else
{
for(i=1; i<=n; ++i)
{
tt[pt]=i;
di(pt+1);
}
}
}
int main()
{
scanf("%d",&n);
di(1);
return 0;
}