| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2295 人关注过本帖
标题:n阶勒让德多项式
只看楼主 加入收藏
84009030
Rank: 1
等 级:新手上路
帖 子:191
专家分:0
注 册:2005-5-19
收藏
 问题点数:0 回复次数:7 
n阶勒让德多项式

用递归方法求n阶勒让德多项式的值: main() { int x,n; float p(int,int); printf("\nInput n &x:"); scanf("%d,%d",&n,&x); printf("n=%d,x=%d\n",n,x); printf("P%d(%d(%d)=%6.2f",n,x,p(n,x)); getch(); }

float p(int n,int x) { if(n==0) return(1); else if (n==1) return(x); else return(((2*n-1)*x*p((n-1),x)-(n-1)*p((n-2),x))/n); } 为什么无论输入任何数,输出结果都为0

搜索更多相关主题的帖子: 勒让德多项式 int float return else 
2005-08-18 16:25
wenyong
Rank: 1
等 级:新手上路
帖 子:251
专家分:0
注 册:2005-8-9
收藏
得分:0 

main() { int x,n; float p(int,int); printf("\nInput n x:"); scanf("%d%d",&n,&x); printf("n=%d,x=%d\n",n,x); printf("P%d(%d)=%6.2f",n,x,p(n,x)); getch(); }

float p(int n,int x) { if(n==0) return(1); else if (n==1) return(x); else return(((2*n-1)*x*p((n-1),x)-(n-1)*p((n-2),x))/n); } 输入输出格式的问题!


2005-08-18 16:58
84009030
Rank: 1
等 级:新手上路
帖 子:191
专家分:0
注 册:2005-5-19
收藏
得分:0 
我瞎了...

/* HELLO.C -- Hello, jat chan */ #include \"stdio.h\" #include \"conio.h\" main() { printf(\"Hello, jat chan\\n\"); getch(); }
2005-08-18 18:36
牛虻
Rank: 1
等 级:新手上路
威 望:1
帖 子:472
专家分:0
注 册:2004-10-1
收藏
得分:0 
以下是引用84009030在2005-8-18 16:25:10的发言:

用递归方法求n阶勒让德多项式的值: main() { int x,n; float p(int,int); printf("\nInput n &x:"); scanf("%d,%d",&n,&x); printf("n=%d,x=%d\n",n,x); printf("P%d(%d , %d)=%6.2f",( ? ),n,x,p(n,x));//这句时不时漏掉一个参数了啊? getch(); }

float p(int n,int x) { if(n==0) return(1); else if (n==1) return(x); else return(((2*n-1)*x*p((n-1),x)-(n-1)*p((n-2),x))/n); } 为什么无论输入任何数,输出结果都为0


土冒
2005-08-18 22:58
84009030
Rank: 1
等 级:新手上路
帖 子:191
专家分:0
注 册:2005-5-19
收藏
得分:0 

              [1                                          (n=0)
        Pn(x)=[x                                          (n=1)
              [((2n-1)*x-Pn-1(x)-(n-1)*Pn-2(x))/n         (n>1)

看了整晚书,困死,多写了个都看不清...

[此贴子已经被作者于2005-8-19 13:57:08编辑过]



/* HELLO.C -- Hello, jat chan */ #include \"stdio.h\" #include \"conio.h\" main() { printf(\"Hello, jat chan\\n\"); getch(); }
2005-08-19 13:55
fanfan200830
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2005-8-18
收藏
得分:0 
呵呵,象这种情况还是经常会碰见,所以我建议,要有一个良好的编程习惯。虽然啊嘶没有这方面的标准,但那样不光是方便自己看,也方便和大家交流。

戒骄戒躁,面对自我。人生的意义在克服和创造。失败是人生的家常便饭,重要的是我们学会了什么。
2005-08-19 14:10
维c
Rank: 1
等 级:新手上路
帖 子:202
专家分:0
注 册:2007-8-13
收藏
得分:0 
#include<Stdio.h>
static double a[1001];
int main()
{
int n,x,p;
void fun(int,int);
a[0]=0;a[1]=1;

while (scanf ("%d%d",&n,&x)!=EOF)
{
if (n>1)
fun(n,x);
printf ("%lf\n",a[n]);
}
return 0;
}
void fun(n,x)
{
int i;

for (i=2;i<=n;i++)
a[i]=(12*n-1)*x-a[i-1]-(n-1)*a[i-2]/n;
}

[此贴子已经被作者于2007-10-8 15:26:44编辑过]


花开花落
不愁不惑
http://hi.baidu.com/vitaminic
2007-10-08 12:18
manami
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-9-10
收藏
得分:0 

式子是这个
1 (n=0)
Pn(x)= x (n=1)
((2n-1)·x - Pn-1 (x)-(n-1)·Pn- 2(x))/n (n>=1)

我编的程序如下
#include <iostream>
using namespace std;
double pn(int n,int x)
{double z;
if(n==0)
z=1;
if(n==1)
z=x;
if(n>1)
z=((2*n-1)*x-pn(n-1,x)-(n-1)*pn(n-2,x))/n;
return z;}

int main()
{int a,b;
cout<<"输入x和n:";
cin>>a>>b;
cout<<"x="<<a<<" "<<"n="<<b<<endl;
cout<<'p'<<a<<'('<<b<<")="<<pn(a,b)<<endl;}


2007-10-08 13:53
快速回复:n阶勒让德多项式
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012270 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved