递推+回归
#递归函数
#什么是递归函数?
#在一个函数的函数体内调用了该函数本身,这个函数就称为递归函数
#递归的组成部分-->递归的调用与递归的终止条件
#递归的调用过程
#1.每递归调用一次函数,都会在栈内存分配一个栈帧
#2.每执行完一次函数,都会释放相应的空间
#递归的优缺点
#1.优点:思路代码简单
#2.缺点:占用内存多,效率低下
###################################
'''使用递归求n的阶乘'''
def fac(n):
if n==1:
return 1
else:
return n*fac(n-1)
print(fac(4))
'''下面这个debug更好看函数是如何执行的'''
def fac(n):
if n==1:
return 1
else:
res=n*fac(n-1)
return res
print(fac(6))