Description
用递归方法求n阶勒让德多项式的值,递归公式为:
pn(x)=1 (n=0)
pn(x)=x (n=1)
pn(x)=((2n-1)*x-pn-1(x)-(n-1)*pn-2(x))/n (n≥1)
Input
输入仅一行,输入x和n,用空格隔开。
!!特别提示!!题目中的自变量x和函数值均设置为float,n设为整型。
Output
输出仅一行,输出计算结果(小数点后保留4位)。
Sample Input
1.5 3
Sample Output
1.1667
#include<stdio.h>
float pn(float x,int n);
int main()
{
float x;int n;
scanf("%f%d",&x,&n);
printf("%.4f",pn(x,n));
}
float pn(float x,int n)
{
if(n==0)
return 1;
if(n==1)
return x;
else
return ((2*n-1)*x-pn(x,n-1)-(n-1)*pn(x,n-2))/n;
}