c++

怎么用c++递归求组合数

小亿
129
2024-05-30 15:43:11
栏目: 编程语言

在C++中,可以通过递归的方式来求解组合数。以下是一个示例代码:

#include <iostream>

int combination(int n, int k) {
    if (k == 0 || k == n) {
        return 1;
    } else {
        return combination(n-1, k-1) + combination(n-1, k);
    }
}

int main() {
    int n, k;
    std::cout << "Enter the value of n and k: ";
    std::cin >> n >> k;

    int result = combination(n, k);
    std::cout << "The combination of " << n << " choose " << k << " is: " << result << std::endl;

    return 0;
}

在这个代码中,combination函数通过递归的方式计算组合数。当k等于0或者等于n时,组合数为1;否则,根据组合数的性质C(n, k) = C(n-1, k-1) + C(n-1, k)来进行递归计算。在main函数中,用户输入两个整数nk,然后调用combination函数计算组合数并输出结果。

你可以根据需要修改输入输出的格式或者添加错误处理逻辑。希望这个示例代码对你有帮助!如果有任何问题,请随时询问。

0
看了该问题的人还看了