简单c语言问题

[复制链接]
查看11 | 回复1 | 2010-6-7 09:40:11 | 显示全部楼层 |阅读模式
用递归方法求n阶勒让德多项式的值,递归公式为:


回复

使用道具 举报

千问 | 2010-6-7 09:40:11 | 显示全部楼层
注意x的取值范围,如果太大int会越界。在不考虑越界的情况下,int p(int n,int x){ if (n==0)return 1; if (n==1)return x; else return ((2*n-1)*x-p(n-1,x)-(n-1)*p(n-2,x))/n;}我没测,你再把公式核对一遍应该没问题。但是如此递归会造成大量的重复运算,因为计算的时候要递归2次,相当于一个线性的算法变成了2的N次方级别的。#includeint pn[1000];int main(){ memset(pn,-1,sizeof(pn)); in
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行