用递归方法求勒让德多项式的值,递归公式为
pn(x)=1 n=0
pn(x)=x n=1
pn(x)=((2n-1)*x-(x)-(n-1)*
(x))/n n>1
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
double p(int, int);
int n, x;
cout << "请输入阶次n:"; cin >> n;
cout << "请输入变量x:"; cin >> x;
cout << p(n, x) << endl;
return 0;
}
double p(int n, int x)
{
double a;
if (n == 0)a = 1;
else if (n == 1)a = x;
else a = (double)((2 * n - 1) * x - p(n - 1, x) - (n - 1) * p(n - 2, x)) / n;
return a;
}