编制程序,输入m,n(M>=n>=0)后,计算下列表达式的值并输出: m! n! (m-n)! 要求将该表达式的计算写成函数combination(m,n),返回计算结果。 阶乘计算写成函数fact(n),返回n!。 不可以使用Python内置包的数学函数 输入 m n 输出 对应表达式的值 样例查看模式 正常显示 查看格式 输入样例1 <-复制 2 1 输出样例1 2
时间: 2023-12-14 08:38:47 浏览: 96
编写程序,输入整数 n,计算并输出 n 的阶乘
以下是实现该程序的 Python 代码:
```python
def combination(m, n):
return fact(m) // (fact(n) * fact(m - n))
def fact(n):
if n == 0:
return 1
else:
return n * fact(n - 1)
m, n = map(int, input().split())
result = combination(m, n)
print(result)
```
输入时将两个整数用空格分隔开,使用 `map()` 函数将它们转换为整数。然后调用 `combination()` 函数计算表达式的值,并将结果打印出来。
`combination()` 函数中使用了 `fact()` 函数来计算阶乘。在 `fact()` 函数中,如果输入参数为 0,则直接返回 1;否则递归调用自身来计算 n 的阶乘。在 `combination()` 函数中,我们直接使用了 Python 中的整数除法运算符 `//` 来避免浮点数的问题。
阅读全文