用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;
}

posted @ 2018-01-25 15:50  小岛的水  阅读(812)  评论(0)    收藏  举报