我有一个函数fac(n)
,它返回n!
,我正在将其与gamma(n+1)进行比较。
>>> from math import gamma
>>> gamma(101)-fac(100)
0.0
>>> math.floor(gamma(101))-fac(100)
0.0
>>> long(gamma(101))-fac(100)
-1716052534060312817912314997891197522637580074354635372754659484313875350886868191008427848256820699487696649234627144617147818134104040275968L
gamma(101) = 100!,并且是一个整数。
为什么结果不同?
math.floor
的奇怪不一致性,理论上应该与第三个返回相同。 - user193476math.floor()
返回一个float
;对于已经存储为float
的整数值,它不会执行任何操作。 - Wooblemath.gamma
在 Python 2 中是存在的。请参见 http://docs.python.org/library/math.html#math.gamma。 - Wooble