全排列计数

数字1,2,3总共有多少种组合方式?

#include <stdio.h>
int main ()
{
	printf("1,2,3组合:rn");
	int a,b,c,d;
	d=0;
	for(a=1;a<4;a++)
		for(b=1;b<4;b++)
			for(c=1;c<4;c++)
			{
				if(a!=b&&a!=c&&b!=c){
					d++; 
					printf("%d%d%d,",a,b,c);
				}
			}
			printf("rn总共%d个",d);
}
falla@ubuntu:~/桌面$ gcc 3.c
falla@ubuntu:~/桌面$ ./a.out
1,2,3组合:
123,132,213,231,312,321,
总共6个

不准嘲笑我, 人家才学!!
谢谢伏虎胸教我装gcc还有帮我de出来一个弱智阿三无比的bug, 还有SWT胸教我算总数用i++的思路,以后有的烦你俩了

20 Comments

Name *

E-mail *

Website

  1. Arch!Tech

    必须沙发了╮(╯_╰)╭

  2. 哥特复兴

    搬了个凳

  3. 公子

    能不这么认真的写代码嘛。。。

  4. ilikecss

    隐士,路人。有点超出我能力范围了。顶了

  5. 郑永

    已经是码农了,哈哈。

  6. ChoJemmy

    这明明就是C语言吧,我能懂。学过哦,不过你们应该是学VF吧。

    • 小蝴蝶

      @ChoJemmy c版的cpp嘛 我们什么也不学= =

  7. 跑调的包子

    Linux下C编程,稍高端。

  8. fuhu

    可以用数组优化下lol

    • 小蝴蝶

      @fuhu 递归吗

      • fuhu

        @小蝴蝶 先不说算法,是看到所有的循环是(0,4) ,所以可以看成是一维数组,单循环。

        • 小蝴蝶

          @fuhu int array吗

          • fuhu

            @小蝴蝶 嗯。。我是想到数组在内存中的存放格式就这么说下,可能要用指针,没研究过。
            递归深度会印象效率,你这段程序可以简单看作是字典序列算法(非递归),和那个stl里面的next_permutation一样的实现方法。

  9. 一念花开

    C语言啊,有一段时间没摸过了。

  10. 零落千起

    不许侮辱三哥,开起挂来你受不了