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

首页 / 源码 / 正文
书上的一道递归练习题
/* 
 *  勒让德多项式
 *  本博客源代码如无特殊说明均为本人原创
 *  转载请注明出处及网址
 */
#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) = %d\n", n , x , p ( n , x ) );
    return 0;
}
运行效果
勒让德.png
无标签
评论区
头像
    头像
    春熙路
      

    路过

      头像
      @春熙路

      欢迎 :shock:

    头像
    allms
      

    tell you,you are nice!