为什么两个不一样吗?问题出在哪、为什么?我的代码放在图2了,讲道理两个结果应该一样呀,是哪个错了?
有可能是数据精度的问题,你用decimal试一下
import math
from decimal import *
print(Decimal(math.factorial(100)) / (Decimal(math.factorial(50)) * Decimal(math.factorial(50))))
def C(n, m):
t = 1
i, j = n, 1
while j <= m:
t = Decimal(t) * i / j
i -= 1
j += 1
return t
print(C(100, 50))