计算公式,其中求阶乘的操作用自函数实现,从键盘输入n和m的值(n大于m),调用函数并输出计算结果)

img


计算公式n!/(m!(n-m)!)第2个样例结果输入错误,请问哪里错了?

应该是最后一行错了,把最后一行改为 print(fact(n)/(fact(m)*fact(n-m)))即可 因为是除以m的阶乘和(n-m)的阶的乘积,所以要用一个括号把这个乘积括起来。修改如下:

def fact(n):
    if n==0:
        return 1
    else :
        return n*fac(n-1)

n=eval(input())
m=eval(input())
print(fact(n)/fact(m)*fact(n-m))        


img