一、问题描述
使用递归方法求n阶勒让德多项式的值,递归公式为:
其中:n和x为int型;为float型。
二、格式要求
1.输入形式
先后从键盘输入n和x,用逗号分隔。
2.输出形式
若n小于0,则输出“error”。若n大于等于0,则输出,保留小数点后两位。
3.样例
输入:
-1,3
输出:
error
或
输入:
2,-3
输出:
-3.50
三、实验代码
#include <stdio.h>
double p(int n,int x) ;
int main()
{
double r;
int s,y;
scanf("%d,%d",&s,&y);
if(s>=0)
{
r=p(s,y);
printf("%.2f\n",r);
}
else{
printf("error");
}
return 0;
}
double p(int n,int x)
{
if(n==0)
{
return 1;
}
else if (n==1){
return x;
}
else {
return((2*n-1)*x-p(n-1,x)-(n-1)*p(n-2,x))/n;
}
}
运行结果
点赞关注,感谢您的支持 ^ _ ^
如有错误,还请您批评指正🤝 🤝 🤝