计算排列组合的C++程序

您所在的位置:网站首页 排列组合的c的公式有哪些 计算排列组合的C++程序

计算排列组合的C++程序

2024-07-16 04:04| 来源: 网络整理| 查看: 265

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