求N!的几种方法(python)

求 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!,其中第二种方法是递归实现,比较简洁但可能会受到递归深度限制;第一种和第三种方法都利用了循环或内置函数来避免递归深度限制,具有良好的性能表现。

猜你喜欢

转载自blog.csdn.net/weixin_47763579/article/details/129840786