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
Source
#include <stdio.h>
float fun(float x,int n);
float fun(float x,int n)
{
float s;
if (n==0)
{
s=1;
}
else if (n==1)
{
s=x;
}
else
{
s=((2*n-1)*x-fun(x,n-1)-(n-1)*fun(x,n-2))/n;
}
return s;
}
int main()
{
float x,t;
int n;
scanf("%f%d",&x,&n);
t=fun(x,n);
printf("%.4f",t);
system("pause");
return 0;
}