描述
用递归方法求n阶勒让德多项式的值,递归公式为:
在主函数中输入一个整数n和一个实数x,调用函数 legendre(n,x),并输出其返回值。
输入
第一行输入一个整数n,表示阶数;第二行输入一个实数x。
输出
输出n阶勒让德多项式的值。
输入样例 1
3 0.5
输出样例 1
-0.4375
输入样例 2
1 2
输出样例 2
2
#include <iostream>
using namespace std;
float legendre(int, float);
int main()
{
int n;
float x;
cin >> n >> x;
cout<<legendre(n, x);
return 0;
}
float legendre(int n, float x)
{
float result;
if (n == 0)result = 1;
else if (n == 1)result = x;
else
{
result = ((2 * n - 1) * x * legendre(n - 1, x) - (n - 1) * legendre(n - 2, x)) / n;
}
return result;
}