求 N! 可以使用多种方法,以下是几种基于 Python 的实现:
1.使用 for 循环计算 N!
def factorial(n):
result = 1
for i in range(1, n+1):
result *= i
return result
2.使用递归函数计算 N!
def factorial(n):
if n == 0 or n == 1:
return 1
else:
return n * factorial(n-1)
3.使用 reduce 函数计算 N!
from functools import reduce
def factorial(n):
return reduce(lambda x, y: x*y, range(1, n+1))
以上三种方法都可以用来求解 N!,其中第二种方法是递归实现,比较简洁但可能会受到递归深度限制;第一种和第三种方法都利用了循环或内置函数来避免递归深度限制,具有良好的性能表现。