📅  最后修改于: 2023-12-03 15:34:02.567000             🧑  作者: Mango
在组合数学中,组合数是指从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个元素的组合数量。这个函数的具体实现方法是通过计算阶乘来求取分子和分母,最后做除法运算得到结果。