[求助]编程打印1,2,3.....n的全排列
编程打印1,2,3.....n的全排列
1,2,3
1,3,2
2,1,3,
2,3,1
3,1,2
3,2,1
----------------解决方案--------------------------------------------------------
不好做。光输出就要进行n!次,中间的算法复杂度如果也是n!,就没法做了。
----------------解决方案--------------------------------------------------------
请各位大哥帮帮小弟
----------------解决方案--------------------------------------------------------
/*编程打印1,2,3.....n的全排列
1,2,3
1,3,2
2,1,3,
2,3,1
3,1,2
3,2,1*/
# include<stdio.h>
# include<math.h>
void main()
{
int n;
int a,b,c;
printf("input=:");
scanf("%d",&n);
for(a=1;a<=n;a++)
{
printf("\n");
for (b=1;b<=n;b++)
for(c=1;c<=n;c++)
if ((a!=b)&&(b!=c)&&(a!=c)) printf("%d,%d,%d\t",a,b,c);
}
}
可以了~~
----------------解决方案--------------------------------------------------------
谢谢,但是我的意思不是输出3个数,而是N个,
N=4,则1,2,3,4
1,2,4,3,
1,3,2,4
.....
N=5
1,2,3,4,5
1,2,3,5,4
1,2,4,3,5
...
----------------解决方案--------------------------------------------------------
忙了~ 明天考SQL SVERVER拉
复习了
再给你提示一下 递归~~~
----------------解决方案--------------------------------------------------------
这种东西根本用不着提示,不是循环就是递归。
----------------解决方案--------------------------------------------------------
以前nuciewth 斑竹发过http://bbs.bc-cn.net/viewthread.php?tid=90424&extra=&page=100#
----------------解决方案--------------------------------------------------------
谢了
----------------解决方案--------------------------------------------------------
以下是引用卧龙孔明在2007-1-14 16:38:02的发言:
以前nuciewth 斑竹发过http://bbs.bc-cn.net/viewthread.php?tid=90424&extra=&page=100#
以前nuciewth 斑竹发过http://bbs.bc-cn.net/viewthread.php?tid=90424&extra=&page=100#
多谢,本来我是想发上来的...
----------------解决方案--------------------------------------------------------