【描述】
用递归方法求n阶勒让德多项式的值,递归公式为:
Pn(x) = 1 (n=0)
= x (n=1)
= ((2n-1)*x-Pn-1(x)-(n-1)Pn-2(x)/n (n>=1)
【输入输出示例】
2 1.5
Input n and x : 1.000000
【C语言】
#include<stdio.h>
double P(int n,double x) {
if (n == 0)
return 1;
else if (n == 1)
return x;
else {
return ((2.0 * n - 1) * x - P(n - 1,x) - (n - 1) * P(n - 2,x)) / n;
}
}
int main() {
int n;
double x,value;
printf("Input n and x : ");
scanf("%d %lf", &n,&x);
value=P(n,x);
printf("%lf",value);
return 0;
}