编写一个自定义函数,用来计算N!,利用该函数计算组合数的值,计算公式如下: 组合数C,其中C=m!/n!(m-n)! 编写程序,输入两个正整数m和n,计算并输出组合数的结果。若输入的数据的数据不符合要求(m<n、m或n有负数以及n=0都是不符合要求),则输出Error。
时间: 2024-04-30 20:20:34 浏览: 155
cbi.rar_计算组合数
可以使用递归的方式来计算阶乘函数,代码如下:
```python
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)
```
然后,我们可以使用阶乘函数来计算组合数,代码如下:
```python
def combination(m, n):
if m < n or m < 0 or n < 0 or n == 0:
return "Error"
else:
return factorial(m) // (factorial(n) * factorial(m-n))
```
这个函数首先检查输入的数据是否符合要求,如果不符合要求则返回 "Error"。如果符合要求,就使用阶乘函数计算组合数的值,并返回结果。
下面是一个例子:
```python
print(combination(5, 2)) # 输出 10
print(combination(4, 5)) # 输出 Error
```
在第一行中,我们计算 5 个元素中选取 2 个的组合数,结果为 10。在第二行中,由于输入的数据不符合要求,因此返回 "Error"。
阅读全文