我的成长

在这里,希望可以与大家一起探讨编程哦。虽然我还是属于菜鸟级别的。

13勒让德多项式

题目编号 13
时间限制 1000 毫秒
内存限制 32768 K字节

问题描述

输入n和x求勒让德多项式的值,公式为:
p(x, n) = 1 , 当n = 0时
        = x , 当n = 1时
        = (2n-1)xp(x, n-1)/n - (n-1)p(x, n-2)/n , 当n > 1时 

输入

输入一个整数n和一个浮点数x

输出

输出勒让德多项式的值,保留2位小数

输入样例

4 2.0

输出样例

55.38

#include <cstdlib>
#include 
<iostream>
#include 
<iomanip>
using namespace std;

double operate(int n,float x){
      
double num;
      
if(n == 0)
           num 
= 1;
      
if(n == 1)
           num 
= x;     
      
if(n > 1)
           num 
= ((2*n-1)* x * operate(n-1,x)/n-(n-1* operate(n-2,x)/n);
      
return num;      
      }
int main(int argc, char *argv[])
{
    
int n;
    
double x;
    cin 
>> n >> x;
    cout 
<< fixed << setprecision(2<< operate(n,x) << endl;
    system(
"PAUSE");
    
return EXIT_SUCCESS;
}

posted on 2006-10-28 16:53 林慧 阅读(1135) 评论(1)  编辑 收藏 引用 所属分类: C++

Feedback

# re: 13勒让德多项式 2007-12-17 21:01 huahua

如果我想要求取勒让德多项式的系数,应该怎么编程序呢?谢谢你  回复  更多评论   


只有注册用户登录后才能发表评论。