在C++中,我们可以使用递归来计算排列组合的情况数目。下面是一个示例程序,计算从n个元素中选择r个元素的组合数目:\n\ncpp\n#include <iostream>\n\nint combination(int n, int r) {\n if (r == 0 || n == r) {\n return 1;\n } else {\n return combination(n - 1, r - 1) + combination(n - 1, r);\n }\n}\n\nint main() {\n int n, r;\n std::cout << "Enter the number of elements (n): ";\n std::cin >> n;\n std::cout << "Enter the number of elements to choose (r): ";\n std::cin >> r;\n std::cout << "The number of combinations is: " << combination(n, r) << std::endl;\n return 0;\n}\n\n\n在上面的代码中,combination函数使用递归的方式计算组合数目。如果选择的元素个数为0或者与总元素个数相等,那么组合数目为1。否则,组合数目等于从剩余的元素中选择r-1个元素的组合数目加上从剩余的元素中选择r个元素的组合数目。\n\n通过输入n和r的值,程序将计算并输出组合数目。


原文地址: https://www.cveoy.top/t/topic/p8xr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录