用递归方法求 n 阶勒让德多项式的值,递归公式为
#include <iostream>
using namespace std;
double p(int,double);
int main()
{
int n;
double x;
cin>>n>>x;
double result = p(n, x);
cout<<"result is "<<result<<endl;
return 0;
}
double p(int n,double x){
if (n == 0) {
return 1;
}else if( n==1){
return x;
}else if(n>1){
return ((2*n-1)*x - p(n-1,x) - (n-1)*p(n-2,x))/n;
}else{
cout<<"Illegal!"<<endl;
return 0;
}
}
输入n:
10
输入x:
5
结果:
4.5672