python用阶乘函数求组合数
时间: 2023-08-12 21:03:15 浏览: 156
Python 中没有内置的阶乘函数,但可以使用 math 模块中的 factorial() 函数来计算阶乘。组合数的计算公式为:C(n,m) = n! / (m! * (n-m)!),因此可以将组合数的计算转化为阶乘的计算。
以下是一个求组合数的示例代码:
```python
import math
def combination(n, m):
return math.factorial(n) / (math.factorial(m) * math.factorial(n-m))
# 示例
n = 5
m = 2
result = combination(n, m)
print(f"C({n},{m}) = {result}")
```
输出:
```
C(5,2) = 10.0
```
注意,由于阶乘函数返回的是浮点数,因此计算结果也会是浮点数。如果需要得到整数结果,可以使用 int() 函数将结果转换为整数。
相关问题
python2.编写一个求阶乘的函数,再编写一个函数求组合数 ,其中 。编写测试程序
下面是Python2的代码实现:
```python
# 求阶乘的函数
def factorial(n):
if n == 0 or n == 1:
return 1
else:
return n * factorial(n-1)
# 求组合数的函数
def combination(n, m):
return factorial(n) / (factorial(m) * factorial(n-m))
# 测试程序
n = 5
m = 2
print("阶乘的结果为:%d" % factorial(n))
print("组合数的结果为:%d" % combination(n, m))
```
输出结果为:
```
阶乘的结果为:120
组合数的结果为:10
```
本关任务:编写一个用函数实现组合数的计算程序。组合数公式为:C(m,k)=m!/(k!(m-k)!),请实现求阶乘函数Factorial()和求组合数的函数Combination(),然后从main函数输入m,k,输出组合数。
```python
def Factorial(n):
# 求n的阶乘
if n == 0:
return 1
else:
return n * Factorial(n-1)
def Combination(m, k):
# 求C(m,k)
return Factorial(m) // (Factorial(k) * Factorial(m-k))
# 输入m和k
m = int(input("请输入m:"))
k = int(input("请输入k:"))
# 输出组合数
print("组合数为:", Combination(m, k))
```
阅读全文