递归法求n的阶乘算法?
求n的阶乘的过程分为回推和递推。
1.回推
求n的阶乘可以描述如下:
n!=n*(n-1)!
(n-1)!=(n-1)*(n-2)!
(n-2)!=(n-2)*(n-3)!
(n-3)!=(n-3)*(n-4)!
...
2!=2*1!
1!=0!
0!=1
1!=1
如果把n!写成函数形式,即f(n),则f(5)就是表示5!。求5!的过程可以写成如下形式:
f(5)=5*f(4)
f(4)=4*f(3)
f(3)=3*f(2)
f(2)=2*f(1)
f(1)=1
从上述过程可以看出,求f(5)就需要调用f(4),求f(4)就需要调用f(3),求f(3)就需要调用f(2),求f(2)就需要调用f(1)。其中f(5)、f(4)、f(3)、f(2)、f(1)都会调用同一个函数f,只是参数不同而已Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有