C语言求 n 阶勒让德多项式的值

完整代码:

// 用递归法求 n 阶勒让德多项式的值
// 递归公式为:
// n==0,P(n)(x)=1
// n==1,P(n)(x)=x
// n>1,P(n)(x)=((2*n-1)*x - P(n-1)(x) - (n-1)*P(n-2)(x)) / n
#include

double func(int n,int x){
    if (n==0)
    {
        return 1;
    }
    
    if (n==1)
    {
        return x;
    }
    if (n>1)
    {
        return ((2*n-1)*x - func(n-1,x) - (n-1)*func(n-2,x)) /(n);
    }
}
int main()
{
    //n为阶数,x为参数
    int n,x;
    printf("请输入n\n");
    scanf("%d",&n);
    printf("请输入x\n");
    scanf("%d",&x);
    printf("P%d(%d)=%f",n,x,func(n,x));
    return 0;
}

运行截图:

C语言求 n 阶勒让德多项式的值_第1张图片

C语言求 n 阶勒让德多项式的值_第2张图片

你可能感兴趣的:(算法,c语言,C语言经典100题,勒让德多项式)