描述
用递归方法求n阶勒让德多项式的值,递归公式如下:
输入
在一行内有一个正整数n和一个实数x,用空格分隔。保证n不超过10。
输出
输出pn(x)的值,小数点后保留4位小数。
请注意行尾输出换行。
输入样例 1
5 2.5
输出样例 1
637.0117
题目说使用递归,递归是自己调用自己的一种函数,公式里n>=1就是在递归抄写它就可以了
#include <iostream>
#include <stdio.h>
using namespace std;
float operate(float n,float x)
{
if(n==0)
return 1;
else if(n==1)
return x;
else
return ((2*n-1)*x*operate(n-1,x)-(n-1)*operate(n-2,x))/n;
}
int main()
{
float n, x;
while(cin>>n>>x)
printf("%.4f\n",operate(n,x));
return 0;
}