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

输入x和n的值,用递归法求n阶勒让德多项式的值,递归公式为:

用递归法求n阶勒让德多项式的值_第1张图片

用递归法求n阶勒让德多项式的值_第2张图片 

#include 

double Legendre(double x, int n)
{
    
    if (n == 0)
    {
        return 1;
    }
    
    if (n == 1)
    {
        return x;
    }
    
    if (n > 1)
    {
        return (((2*n-1)*x - Legendre(x, n-1) - (n-1)*Legendre(x, n-2))/n);
    }
    
}

int main()
{
    double x = 0;
    int n = 0;
    scanf("%lf%d",&x,&n);
    double ret = Legendre(x, n);
    printf("%.2f",ret);
    return 0;
}

 

你可能感兴趣的:(C语言作业,学习,c语言)