作业帮 > 综合 > 作业

c++用递归法求n阶勒让德多项式的值!

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/10 19:39:44
c++用递归法求n阶勒让德多项式的值!
式子是这个
1 (n=0)
Pn(x)= x (n=1)
((2n-1)·x - Pn-1 (x)-(n-1)·Pn- 2(x))/n (n>=1)
我编的程序如下
#include
using namespace std;
double pn(int n,int x)
{double z;
if(n==0)
z=1;
if(n==1)
z=x;
if(n>1)
z=((2*n-1)*x-pn(n-1,x)-(n-1)*pn(n-2,x))/n;
return z;}
int main()
{int a,b;
couta>>b;
cout
// 很简单,应该是答案印错了
// 不过这样才是正确的递归方式
double legendre(int n, double x)
{
if (n == 0) return 1;
else if (n == 1) return x;
else return ( (2*n-1)*x - legendre(n-1,x) - (n-1)*legendre(n-2,x) ) / n;
}