[C语言]N阶勒让德公式

2019-12-25 17:50:16 浏览数 (1)

书上的一道递归练习题

代码语言:javascript复制
/* 
 *  勒让德多项式
 *  本博客源代码如无特殊说明均为本人原创
 *  转载请注明出处及网址
 */
#include <stdio.h>
long p(int n,int x)
{
    if ( n == 0)
    {
        return 1;
    }
    if (n == 1)
    {
        return x;
    }
    if (n > 1)
    {
        //勒让德公式(利用递归)
        return ((2 * n - 1) * x - p(n - 1, x) - (n - 1) * p(n - 2, x)) / n;
    }
}
int main()
{
    //求n阶勒让德多项式的值
    int x, n;
    printf("请输入勒让德公式中的N 和 X 的值以空格隔开。n");
    scanf("%d%d", &n, &x);
    printf("勒让德多项式P%d(%d) = %dn", n , x , p ( n , x ) );
    return 0;
}

运行效果

0 人点赞