4.编写函数计算组合数:C(n,k)=n!/(k!(n-k)!)。解题分析:实验步骤:(1)源程序(2)运行结果(3)实验结果分析
时间: 2024-12-20 17:29:24 浏览: 3
4. 编写一个计算组合数的函数,通常使用动态规划或者递归的方法来实现。以下是使用Python的一个例子:
```python
def combination(n, k):
# 检查输入是否合法
if n < 0 or k < 0 or k > n:
return None
# 使用阶乘公式计算组合数
def factorial(num):
if num == 0 or num == 1:
return 1
else:
return num * factorial(num - 1)
return factorial(n) // (factorial(k) * factorial(n - k))
# 示例实验步骤:
# (1)源程序
# ```python
source_code = """
def main():
n = int(input("请输入总数n:"))
k = int(input("请输入选择的数量k:"))
result = combination(n, k)
print(f"C({n}, {k}) = {result}")
if __name__ == "__main__":
main()
"""
# (2)运行结果
# 假设输入n=5, k=2
# 输入:5, 2
# 输出:C(5, 2) = 10
# (3)实验结果分析
# 这段代码通过用户输入两个整数n和k,计算并打印出从n个不同元素中选择k个元素的不同组合数。当输入合理的n和k值时,结果正确显示了组合数;如果输入不合法,函数会返回None。
阅读全文