是2return(c)
递归公式
1 (n=0)
pn(x)=x (n=1)
((2n-1)xpn-1(x)-(n-1)pn-2(x))/n (n>1)
例如:
#include <stdio.h>
float p (int n,int x)
{
int f;
if(n<0)
{
f = -1;
printf("error, n should be larger than 0");
}
else if(n==0)
{
f = 1;
}
else if (n==1)
{
f = x;
}
else if (n>1)
{
f=((2*n-1)*x*p(n-1, x)-(n-1)*p(n-2,x))/n;
}
return f;
}
void main ()
{
int n,x;
printf("请输入n,x的值:");
scanf("%d%d",&n,&x);
printf("结果为:%d\n",p(n,x));
getchar();
}
扩展资料:
由于递归引起一系列的函数调用,并且可能会有一系列的重复计算,递归算法的执行效率相对较低。当某个递归算法能较方便地转换成递推算法时,通常按递推算法编写程序。
例如上例计算斐波那契数列的第n项的函数fib(n)应采用递推算法,即从斐波那契数列的前两项出发,逐次由前两项计算出下一项,直至计算出要求的第n项。
参考资料来源:百度百科-递归法