#python,求10的阶乘
n=10
def j(n):
if n==1:
return 1
return j(n - 1) * n
print(j(n))
返回的j(n-1)*n是什么意思,我没绕明白,求解救,想知道这个函数是怎么运行的
递归,阶乘
N! = (N-1)! * N,就这个意思
这就是递归的用法,当n不等于1时,直接进入return j(n-1)*n ,实际上你可以这么理解
假如传递了一个不等于1的数,就把这个数分为两个部分,第一部分是n ,第二部分是 j(n-1),而这两个部分是相乘的关系
在第二部分中,可以继续拆解,拆解为n-1 j(n-2)两个部分,他们也是相乘的关系,与上面结合看,那就是n * n-1 * j(n-2)
那么一直递归下去,一直到n=1的时候,不再往下递归了,整个过程也就变成了
n * n-1 * n-2 ..... * 2 * 1
也就是阶乘关系
望采纳!谢谢