注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

时间记录器

记录我的Linux、Android学习之路

 
 
 

日志

 
 

递归计算n阶勒让德多项式  

2012-08-24 14:06:32|  分类: C语言相关 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

From:lsf

/*
以下函数的功能是用递归的方法计算x的n阶勒让德多项式的值。已有调用语句p(n,x);编写函数实现功能。递归公式如下:
 P(x)= 1  n=0
          x  n=1
      ((2n-1)x Pn-1 - (n-1)Pn-2)/n
*/
#include <stdio.h>

float p(int n, int x)
{

float result;
if(n==0)
 return 1;
else if(n==1)
 return x;
else
 {
 result = ((2*n-1)*x*p(n-1,x)-(n-1)*p(n-2,x))/n;
 return result;
 }

}

float p1(int n,int x)
{
 float t, t1, t2;
 if(n==0) return 1;
 else if(n==1) return x;
 else
 {
  t1=(2*n-1)*x*p((n-1),x);
  t2=(n-1)*p((n-2),x);
  t=(t1-t2)/n;
  return t;
 }
}

   

void main(void)
{
int n, x;
float result;
printf("Please input the number: n,x\n");
scanf("%d,%d",&n,&x);
result = p1(n,x);
printf("result is %f\n",result);
}

  评论这张
 
阅读(3115)| 评论(2)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017