首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

数字全排列有关问题

2012-02-24 
数字全排列问题?输入一个数如123456如何将其完全排列?123456123465123546123564.........654321请指教![解

数字全排列问题?
输入一个数如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);

}

热点排行