Python中递归阶乘

版权声明:文章版权归本博客所以未经许可不能转载 https://blog.csdn.net/u011738045/article/details/82462418

什么是阶乘

5=5*4*3*2*1    

4=4*3*2*1   这种形式叫做阶乘

阶乘例子

i = 1
result = 1
while i <= 4:
    result = result * i
    i += 1
print(result)          #这个算的是4的阶乘

5的阶乘》也就是4的阶乘*5         

递归典型的案例就是阶乘

  一个函数自己调用自己这样叫做递归,所以上面的例子可以改成递归的写法

def getNum(num):
    if num > 1:
        return num * getNum(num - 1)
    else:
        return num


print(getNum(4))

也就是相同规律可寻的程序,我们可以用递归方式来实现

调用函数会往内存写点东西,来记住调用位置下次可以继续上次位置持续,递归调用如果死循环内存会满,就会卡死

所以写递归的时候一定要写结束的判断

猜你喜欢

转载自blog.csdn.net/u011738045/article/details/82462418