题目描述
输出自然数1~n所有不重复的排列
输入
n(1<=n<=9)
输出
由1~n组成的所有不重复的数字序列,每行一个序列
样例输入
3
样例输出
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1
#include<stdio.h>
int a[10],b[10],n;
void pai(int k)
{ int i;
if(k>n){
for(i=1;i<=n;i++)
printf("%d ",a[i]);
printf("\n");
return ;
}
for(i=1;i<=n;i++)
if(b[i]==0) {
a[k]=i;
b[i]=1;
pai(k+1);
b[i]=0;
}
}
int main()
{
scanf("%d",&n);
pai(1);
}