用递归的方法求n阶勒让德多项式的值算法分析:
1 定义x和n
2 输入x和n
3 用递归进行调用
C语言实现:
#include <stdio.h>
#include <stdlib.h>
double f(int n,double x);
/*=============================================================*/
int main()
{
int n;//定义n和x
double x;
printf("n=");//n和x初始化
scanf("%d",&n);
printf("/nx=");
scanf("%f",&x);
printf("/n%d阶勒让德多项式的值是:%5.2f",n,f(n,x));//输出结果
system("PAUSE");
return 0;
}
double f(int n,double x)//勒让德函数
{
if(n==0)
return 1;
else if (n==1)
return (x);
else if(n>1)
return(((2*n-1)*x-f(n-1,x)-(n-1)*f(n-2,x))/n);
}