求一道c语言的题

来源:百度知道 编辑:UC知道 时间:2024/06/10 22:04:23
2. 以下函数p的功能是用递归方法计算x的n阶勒让德多项式的值。已有调用语句p(n,x);请编写p函数。递归公式如下:
1 (n=0)
Pn(x)= x (n=1)
((2n-1)*x*Pn-1(x)-(n-1)* Pn-2(x))/n (n>1)
float p(int n,int x)
{ }

#include <stdio.h>
double p(int n, double x)
{
if(n == 0)
return 1;
else
if(n == 1)
return x;
else
return ((2*n-1) * p(n-1, x) - (n-1) * p(n-2, x)) / n;
}

int main()
{
int n;
double x;
double y;
printf("input n, x:\n");
scanf("%d %lf", &n, &x);
y = p(n, x);
printf("%-10.0f\n", y);
return 0;
}