用递归方法求n阶勒让德多项式的值,递归公式为
用递归方法求n阶勒让德多项式的值,递归公式为
题目解析:
递归函数的设计,有一个点非常重要,那就是必须要有返回条件,,此题中的返回条件即为n0和n1时,因为当n为这两值时,程序直接返回相应的值,只有n>=1时,才进行递归运算。
代码示例:
#include<stdio.h>
double polya(int n,int x)
{
double result;
if(n == 0)
result = 1;
if(n == 1)
result = x;
if(n>1)
result = ((2*n-1)*x*polya(n-1,x)-(n-1)*polya(n-2,x))/n;
return result;
}
int main()
{
int x,n;
scanf("%d %d", &n, &x);
printf("%.2f\n", polya(n,x));
return 0;
}
运行结果:
关注公众号 牛顿顿的星空 在里面回复 谭浩强答案,获取完整版答案,有问题也可以公众号后台私信我