📜  python nCr n 选择 r 函数 - Python (1)

📅  最后修改于: 2023-12-03 15:34:02.567000             🧑  作者: Mango

Python nCr n 选择 r 函数

在组合数学中,组合数是指从n个不同元素中选取r个元素的组合方式的数量,通常记作C(n,r)或者nCr。在Python中,我们可以通过编写一个函数来计算nCr的值。

代码实现
def nCr(n, r):
    """
    Calculate n choose r (nCr).

    Parameters:
        n: integer, number of items to choose from.
        r: integer, number of items to be chosen.

    Returns:
        The number of ways to choose r items from n items.
    """

    if not isinstance(n, int) or not isinstance(r, int) or n < 0 or r < 0:
        raise ValueError("Both n and r must be non-negative integers.")

    if r > n:
        return 0

    numerator = 1
    denominator = 1
    for i in range(r):
        numerator *= n - i
        denominator *= i + 1

    return numerator // denominator

代码中使用了阶乘的计算方法,将分子和分母分别求出,最后再做除法运算。对于nCr函数的使用,只需要传入要选取的元素数量n和选取的数量r即可。

示例
>>> nCr(5, 2)
10
>>> nCr(10, 3)
120
>>> nCr(7, 5)
21
结论

通过本文介绍的nCr函数,我们能够方便地计算从n个不同元素中选取r个元素的组合数量。这个函数的具体实现方法是通过计算阶乘来求取分子和分母,最后做除法运算得到结果。