代码语言: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;
}
运行效果