开张记念

有人说阶乘计算很慢,确实,若是按照定义去计算,那么屡次乘法是很慢的。python

可是事实上咱们有现成的工具可用,好比伽玛函数,斯特林公式。函数

其中gmp库中就有现成的gamma函数,因此大数的阶乘并不慢。工具

import gmpy2
from gmpy2 import mpz
def stirling(z):
        return gmpy2.gamma(z+1)
import time
t=time.clock()
print(stirling(mpz(30000000)))
t=time.clock()-t
print(t)

  结果:blog

2.0996305395095615e+211284807
0.000302class

速度很快,可是更大的数就不行了,由于受制于gmp浮点数的上限import

相关文章
相关标签/搜索