当前位置: 代码迷 >> C语言 >> [求助]编程打印1,2,3.....n的全排列
  详细解决方案

[求助]编程打印1,2,3.....n的全排列

热度:226   发布时间:2007-01-14 12:56:30.0
[求助]编程打印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#

多谢,本来我是想发上来的...


----------------解决方案--------------------------------------------------------
  相关解决方案