赞
踩
Python编写阶乘递归算法
阶乘(factorial)是一个数学概念,表示正整数n与所有小于等于它的自然数的乘积,通常用符号“!”表示。例如,5! = 5 × 4 × 3 × 2 × 1 = 120。
在Python中,可以使用递归算法求解阶乘。递归是指函数调用自身的过程,通常需要明确定义终止条件,避免无限递归导致程序崩溃。
下面是Python实现阶乘递归算法的源代码:
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
# 测试代码
print(factorial(5))
在上述代码中,factorial
函数接受参数n
表示待求阶乘的数。首先判断当n
为0时,直接返回1;否则调用factorial(n-1)
计算(n-1)!
,并将其乘以n
得到n!
。
最后,我们在代码的末尾加入一个测试语句,输出5!的结果,即120。
运行代码,输出结果为:
120
可以看到,使用递归算法实现阶乘非常简单易懂,但需要注意的是,当n很大时,递归深度会非常大,可能导致栈溢出的问题。因此,在实际应用中,需要根据实际情况和计算复杂度来选择计算阶乘的方法。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。