python计算(m!+n!)/(m-n)!
时间: 2023-09-07 07:14:59 浏览: 43
可以使用math库中的阶乘函数factorial()来计算。
代码如下:
```python
import math
m = int(input("请输入m的值:"))
n = int(input("请输入n的值:"))
result = math.factorial(m) * math.factorial(n) // math.factorial(m-n)
print("结果为:", result)
```
解释一下代码:
1. 首先导入了math库,用来调用阶乘函数。
2. 使用input()函数获取用户输入的m和n的值,并将其转换为整型。
3. 计算(m! n!)/(m-n)!的值,使用了两个除号(//),这样可以保证结果为整数。
4. 最后输出结果。
注意:这个计算式的结果可能会很大,如果超过了Python的最大整数范围,就会出现错误,需要使用高精度计算。
相关问题
python用函数计算(m!+n!)/(m-n)!
可以定义一个函数来计算阶乘:
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
```
然后用这个函数来计算(m! n!)/(m-n)!:
```python
def combination(m, n):
return factorial(m) * factorial(n) // factorial(m-n)
result = combination(5, 3)
print(result) # 输出 60
```
注意,在Python中,整数除法//会向下取整,因此可以避免小数的出现。
求1+1/2! +1/3!+⋯+1/m!的值,要求1/n!的值不大于1.0* 10-8
要求1/n!的值不大于1.0* 10-8,即要求n的阶乘不大于1.0* 10^8。我们可以使用循环来计算这个求和的值,直到1/n!的值小于等于1.0* 10-8为止。
以下是一个示例代码来计算这个求和的值:
```python
sum = 0
factorial = 1
n = 1
while 1/factorial > 1.0 * 10**-8:
sum += 1/factorial
n += 1
factorial *= n
print("求和的值为:", sum)
```
在这个代码中,我们使用了一个while循环来计算求和的值。我们初始化sum为0,factorial为1,n为1。然后,我们进入循环,每次迭代都将1/factorial加到sum中,并更新n和factorial的值。当1/factorial的值小于等于1.0 * 10^-8时,循环停止。最后,我们打印出求和的值。