求一道数据结构C语言的,主要是第二题不会,是C语言,不是C++哦,要完整的答案,第一题不要再写给我了。。

题目
n阶勒让得(Legendre)多项式可以递归定义如下:

1 n=0
Pn(x) = x n=1
((2n-1)* x * Pn-1(x) –(n-1)* Pn-2(x))/n n>=1

(1) 输入n和x的数值,输出此时勒让得多项式的数值。例如输入2,1,应输出1。(2)输入n的数值, 输出此时的勒让得多项式。例如输入2,应输出3/2 x2 - 1/2。

//int fun1(int n,int x)是你要的第二问的答案
//main函数里面是测试。。。fun函数是第一问的

#include<stdio.h>
int fun(int n,int x) ;
int fun1(int n) ;

int main()
{
int n,x ;
printf("请输入n:") ;
scanf("%d",&n) ;
printf("请输入x:") ;
scanf("%d",&x) ;
fun1(n) ;
printf("=") ;
printf("%d",fun(n,x)) ;
return 0 ;
}

int fun(int n,int x)
{
if(n>1)
return ((2*n-1)*x*fun(n-1,x)-(n-1)*fun(n-2,x))/n ;
if(n==1)
return x ;
if(n==0)
return 1 ;
else return 0 ;
}

int fun1(int n)
{
if(n>1)
{
printf("(%d*x*",2*n-1) ;
fun1(n-1) ;
printf("-%d*",n-1) ;
fun1(n-2) ;
printf(")/%d",n) ;
return 1 ;
}

if(n==1)
{
printf("x") ;
return 1 ;
}
if(n==0)
printf("1") ;
else return 0 ;
}
温馨提示:答案为网友推荐,仅供参考
相似回答