用递归的方法求n阶勒让德多项式的值

用递归的方法求n阶勒让德多项式的值,求大神解答一下急。

参考如下:

#include<stdio.h>
#include<stdlib.h>
double legendre(int n, int 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;
}
int main() 
{
    int n;
    int x;
    printf("请输入n的值和x的值\n");
    scanf("%d %d", &n, &x);
    printf("P%d(%d) = %f\n", n, x, legendre(n, x));
    return 0;
}


亲爱的提问者您好,我们很乐意您能在CSDN解决编程过程中遇到的问题,
但是问答频道谢绝一切直接提问作业、索要代码的行为,在此对您发出正式警告。
后续如果继续不加思考,直接提出作业问题,我们会限制您在问答频道的提问权益。
CSDN也鼓励用户通过举报功能来对这些行为进行监督反馈,共建问答频道良好的风气。