用C++计算勒让德多项式
/*
时间:2018.1.25
作者:小岛的水
*/
#include<iostream>
using namespace std;
//调用递归函数计算勒让德多项式
/*
Pn(x)=|1 (n=0)
|x (n=1)
|((2n-1)x-Pn-1(x)-(n-1)Pn-2(x))/n
*/
int main()
{
double lerangde(int n,double x);
int n;
double x; //x的值可能是小数
cin >> n>>x;
cout<<lerangde(n,x);
return 0;
}
double lerangde(int n,double x)
{
if (n == 0)return 1.0;
if (n == 1)return x;
return ((2 * n - 1)*x - lerangde(n - 1, x) - (n - 1)*lerangde(n - 2, x))/2;
}