计算排列组合的C++程序 |
您所在的位置:网站首页 › 排列组合的c的公式有哪些 › 计算排列组合的C++程序 |
n个不同对象的排列组合一共有n!种。例如,1, 2, 3, 4这几个数可能的排列组合有1*2*3*4 = 24种。 1234, 1243, 1324, 1342, 1432, 1423 2134, 2143, 2314, 2341, 2431, 2413 3214, 3241, 3124, 3142, 3412, 3421 4231, 4213, 4321, 4312, 4132, 4123 递归函数最适合被用于计算排列组合,假设使用一个数组ary来表示需要排列的对象,数组索引idx的初始值为0,则计算其所有排列组合的算法perm思路如下。 把ary[idx]依次与ary[idy] (idy >= idx)交换,每次交换完之后,idx自加1,并且作为参数,递归调用函数perm。 算法的C++源代码如下(在ubantu上面用gcc编译,可以成功执行)。 #include #include #include #include using namespace std; int len, sum; void perm(int *ary, int pos){ int i, tmp; if(pos == len - 1){ sum++; for(i = 0; i < len; i++){ cout |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |