递归函数F(n)的递归算法是什么?

如题所述

递归就是本身调用自己。如n!=n(n-1)!,你定义函数f(n)=nf(n-1)而f(n-1)又是这个定义的函数。这就是递归。

实现递归。简单说来从未知的推到已知的
如:3!=3*2!
2!=2*1!
1!=1(已知的)

然后从已知再返回调用给上一层。到你所要求的
1!=1(已知)
2!=2*1!=2*1=2
3!=3*2!=3*2=6
递归结束

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-02-03
你先了解这个函数的作用,结果就是 n*(n/(2^1)*(n/(2^2))*(n/(2^3))*(n/(2^4))……*1
n*(n/2)*(n/4)*(n/8)*……*1
while( n >= 0)
{
if(n !=0)
{ push();//将n压入栈内
n = n/2
}
else
{
push(n+1);//或者是push(1);
}
}
double result = 1;
while(栈不为空)
{
result = result * pop();//取出值并相乘
}
printf("%lf",result);

这个是伪代码哈,自己去实现