1.math.factorial(x)
import math
value = math.factorial(x)
2.reduce函数
reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。
例子链接:https://www.cnblogs.com/XXCXY/p/5180245.html
def factorial(n):
return reduce(lambda x,y:x*y,[1]+range(1,n+1));
当n=1时,reduce(lambda x,y:x*y,[1]);
n=2时,reduce(lambda x,y:x*y,[1,1]);
n=3时,reduce(lambda x,y:x*y,[1,1,2]);计算1*1*2
n=4时,reduce(lambda x,y:x*y,[1,1,2,3]);计算1*1*2*3
3.递归实现
def factorial(n):
if n == 0:
return 1
else:
return n*factorial(n-1)