问题 O : C语言8.25
时间限制:1 秒
内存限制:32 兆
特殊判题: 否
提交:0
解决: 0
题目描述
用递归方法求n阶勒让德多项式的值,递归公式如下:
输入格式
在一行内有一个正整数n和一个实数x,用空格分隔。保证n不超过10。
输出
输出pn(x)的值,小数点后保留4位小数。
请注意行尾输出换行。
样例输入
5 2.5
样例输出
637.0117
提示[+]
*** 提示已隐藏,点击上方 [+] 可显示 ***
提示[-]
#include<stdio.h>
double myfunction(int n,double x)
{
if(0==n)
return 1;
else if(1==n)
return x;
else return((2*n-1)*x*myfunction(n-1,x)-(n-1)*myfunction(n-2,x))/n;
}
int main()
{
int n;
double x;
double result;
scanf("%d %lf",&n,&x);
result=myfunction(n,x);
printf("%.4f\n",result);
return 0;
}
{
if(0==n)
return 1;
else if(1==n)
return x;
else return((2*n-1)*x*myfunction(n-1,x)-(n-1)*myfunction(n-2,x))/n;
}
int main()
{
int n;
double x;
double result;
scanf("%d %lf",&n,&x);
result=myfunction(n,x);
printf("%.4f\n",result);
return 0;
}