数字全排列问题?
输入一个数如123456如何将其完全排列?
123456
123465
123546
123564
.....
....
654321
请指教!
[解决办法]
#include <stdio.h>
int len, p[9];
int isok(int n, int j){
int i;
for(i=1;i<n;i++){
if(p[i-1]==j){
return 0;
}
}
return 1;
}
void findnum(int j){
int i;
for(i=1;i<=len;i++){
if(isok(j,i)){
p[j-1]=i;
if(j<len){
findnum(j+1);
} else {
for(i=0;i<len;i++){
printf("%d", p[i]);
}
printf("\n");
}
}
}
}
void main(){
printf("n=");
scanf("%d", &len);
findnum(1);
}