📜  Python 阶乘数(1)

📅  最后修改于: 2023-12-03 15:04:19.154000             🧑  作者: Mango

Python阶乘数

阶乘数是指从1到一个正整数n每个数相乘的乘积,通常表示为n!。在Python中,可以使用递归函数或循环语句来计算n的阶乘数。

递归函数

递归函数是指在函数中调用自身的函数。在计算n的阶乘数时,可以使用递归函数来完成。

def factorial_recursive(n):
    if n == 0:
        return 1
    else:
        return n * factorial_recursive(n-1)
  • 解释:
    • 当n等于0时,函数返回1,因为0的阶乘数为1
    • 否则,函数返回n乘以递归调用函数factorial_recursive(n-1)
循环语句

循环语句是指通过循环体多次执行某一操作的语句。在计算n的阶乘数时,可以使用for循环或while循环来完成。

for循环
def factorial_for(n):
    result = 1
    for i in range(1, n+1):
        result *= i
    return result
  • 解释:
    • 初始化result为1
    • for循环从1到n遍历,每次将i乘以result的值
    • 返回result
while循环
def factorial_while(n):
    result = 1
    while n > 1:
        result *= n
        n -= 1
    return result
  • 解释:
    • 初始化result为1
    • while循环在n大于1时执行,每次将n乘以result的值,并将n减1
    • 返回result
运行结果

对于n=5,使用上述三个函数计算的结果均为120。

可能存在浮点精度问题,需要谨慎处理。

一个计算大数阶乘的函数模板如下:

def factorial_big(n):
    result = 1
    for i in range(1, n+1):
        result *= i
    return result