码迷,mamicode.com
首页 > 编程语言 > 详细

2406: C语言习题 求n阶勒让德多项式

时间:2018-02-10 23:24:01      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:limit   page   span   problem   highlight   c语言   des   ems   mst   

2406: C语言习题 求n阶勒让德多项式

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 961  Solved: 570
[Submit][Status][Web Board]

Description

用递归方法求n阶勒让德多项式的值,递归公式为
n=0     pn(x) =1  
n=1     pn(x) =x
n>1     pn(x) =((2n-1)*x* pn-1(x) -(n-1)* pn-2(x))/n
结果保留2位小数。

 

Input

n和x的值。

Output

pn(x)的值。

Sample Input

2 2

Sample Output

5.50

HINT

 

 主函数已给定如下,提交时不需要包含下述主函数

/* C代码 */

int main()

{

 int x,n;

 scanf("%d%d",&n,&x);

 printf("%.2f\n",polya(n,x));

 return 0;

}




/* C++代码 */

int main()

{

 int x,n;

 cin>>n>>x;

 cout<<setiosflags(ios::fixed);

 cout<<setprecision(2); 

 cout<<polya(n,x)<<endl;

 return 0;

 

#include<stdio.h>
float polya(int n,int x)
{
    float sum;
    if(n==0)
        sum=1;
    else if(n==1)
        sum=x;
    else if(n>1)
        sum=((2*n-1)*x*polya(n-1,x)-(n-1)*polya(n-2,x))/n;
    return sum;
}
int main() 
{
    int x,n;
    scanf("%d%d",&n,&x);
    printf("%.2f\n",polya(n,x));
    return 0;
}
注意调用函数的数据类型,因为最后是保留两位小数输出的!

  

2406: C语言习题 求n阶勒让德多项式

标签:limit   page   span   problem   highlight   c语言   des   ems   mst   

原文地址:https://www.cnblogs.com/mjn1/p/8439926.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!