编制程序,输入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 07:38:47 浏览: 35
以下是实现该程序的 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 中的整数除法运算符 `//` 来避免浮点数的问题。
相关问题
输入任意两个数m和n的值,编写一个求阶层函数,计算输出下列表达式的值。 m! S=(m-n)!n!
好的,我可以帮你编写一个求阶乘的函数,然后你再使用这个函数计算表达式的值。以下是 Python 代码实现:
```python
def factorial(n):
"""
计算 n 的阶乘
"""
if n == 0 or n == 1:
return 1
else:
return n * factorial(n-1)
```
使用这个函数计算表达式的值,代码如下:
```python
m = int(input("请输入 m 的值:"))
n = int(input("请输入 n 的值:"))
s = factorial(m-n) * factorial(n)
result = factorial(m) // s
print("计算结果为:", result)
```
你可以将这段代码保存为一个 Python 文件,然后在命令行中运行,输入 m 和 n 的值,即可得到计算结果。
输入任意两个数m和n的值,编写一个求阶层函数,计算输出下列表达式的值。 S=(m-n)!n!
好的,你可以使用下面的 Python 代码来实现:
```python
def factorial(n):
"""
计算 n 的阶乘
"""
if n == 0 or n == 1:
return 1
else:
return n * factorial(n-1)
m = int(input("请输入 m 的值:"))
n = int(input("请输入 n 的值:"))
s = factorial(m-n) * factorial(n)
print("计算结果为:", s)
```
你可以将这段代码保存为一个 Python 文件,然后在命令行中运行,输入 m 和 n 的值,即可得到计算结果。