勒让德多项式的值
描述
用递归方法求n阶勒让德多项式的值,递归公式如下:
输入
在一行内有一个正整数n和一个实数x,用空格分隔。保证n不超过10。
输出
输出pn(x)的值,小数点后保留4位小数。
请注意行尾输出换行。
输入样例 1
5 2.5
输出样例 1
637.0117
#include<bits/stdc++.h>
using namespace std;
double P(int n,double x)
{
if(n==0)return 1;
else if(n==1)return x;
else
return ((2*n-1)*x*P(n-1,x)-(n-1)*P(n-2,x))/n;
}
int main()
{
int n1;
double x1,pn;
scanf("%d %lf",&n1,&x1);
pn=P(n1,x1);
printf("%.4lf\n",pn);
return 0;
}