Python 计算组合数 C(m, n) - 代码示例

本文使用 Python 编写自定义函数计算阶乘,并利用该函数计算组合数 C(m, n)。

计算公式:

C(m, n) = m! / (n! * (m-n)!)

**代码实现:**python# 自定义函数,计算阶乘def factorial(n): if n == 0: return 1 else: return n * factorial(n-1)

输入 m 和 nm, n = map(int, input().split())

判断数据是否符合要求if m < n or m <= 0 or n <= 0: print('Error')else: # 计算组合数 C = factorial(m) // (factorial(n) * factorial(m-n)) print(C)

运行效果示例:

运行效果 1:

10 5252

运行效果 2:

5 10Error

代码解析:

  1. 自定义函数 factorial(n) 用于计算阶乘,当 n 为 0 时返回 1,否则递归调用自身计算 n-1 的阶乘并乘以 n。2. 输入 mn 使用 input() 函数获取用户输入的两个正整数,并使用 map(int, input().split()) 将输入字符串转换为整数并分别赋值给 mn。3. 数据校验: 判断 m 是否小于 n 或者 mn 是否小于等于 0,如果是,则输出 Error,否则进行组合数计算。4. 计算组合数: 使用 factorial() 函数计算 mnm-n 的阶乘,然后使用 // 进行整数除法得到组合数 C

总结:

本文提供了一个简洁的 Python 代码示例,用于计算组合数 C(m, n),并对代码进行了详细解析,方便理解和应用。

Python 阶乘函数计算组合数 C(m, n) - 代码示例与解析

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

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