c语言用循环做勒让德函数 c语言利用循环求自然数e

C语言 用递归法求n阶勒让德多项式的值

define语句末尾不要加分号

成都创新互联主营平塘网站建设的网络公司,主营网站建设方案,重庆App定制开发,平塘h5微信小程序开发搭建,平塘网站营销推广欢迎平塘等地区企业咨询

if(n=1)

m=((2*n-1)*x-P(n-1)-(n-1)*P(n-2))/n;

改成

if(n1) //==1是第二种情况写过了

m=((2*n-1)*x*P(n-1)-(n-1)*P(n-2))/n; //-改成*

n都没赋值就用了啊。。。

正确代码如下:

#includestdio.h

main()

{

#define x 2

int n=10;

float P(int n);

float c;

c=P(n);

printf("%f",c);

}

float P(int n)

{

float m;

if(n==0)m=1;

if(n==1)m=x;

if(n1)

m=((2*n-1)*x*P(n-1)-(n-1)*P(n-2))/n;

return m;

}

c++用递归函数实现勒让德多项式。

#includeiostream

using namespace std;

double pnx(int ,double);

int main(){

double n,x;

cout"请输入n(整数),x"endl;

cinnx;

cout"Pnx(n,x)="pnx(n,x)endl;

return 0;

}

double pnx(int n,double x){

if(n==0) return 1.0;

if(n==1) return x;

return ((2*n-1)*x*pnx(n-1,x)-(n-1)*pnx(n-2,x))/n;

}

所谓递归就自己调用自己,再无其他

C语言用递归方法求n阶勒让德多项式的值

#includestdio.h

float myfunction(int n,int x)

{

if(0==n)

{

return 1;

}

if(1==n)

{

return x;

}

else

{

return (2*n-1)*x-myfunction(n-1,x)-(n-2)*myfunction(n-2,x)/n; //主要问题出在这里,2x 要写成2*x,还有你仔细看看就知道了

}

} //这里加括号

void main()

{

int n,x;

float result;

printf("please imput n,x");

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

result=myfunction(n,x);

printf("the result is:%f\n",result);

}


名称栏目:c语言用循环做勒让德函数 c语言利用循环求自然数e
标题来源:http://azwzsj.com/article/doscojh.html