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

  • Post author:
  • Post category:其他



【描述】


用递归方法求n阶勒让德多项式的值,递归公式为:


Pn(x)   = 1     (n=0)


= x     (n=1)


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


【输入输出示例】



2 1.5


Input n and x : 1.000000


【C语言】


#include<stdio.h>

double P(int n,double x) {
	if (n == 0)
		return 1;
	else if (n == 1)
		return x;
	else {
		return ((2.0 * n - 1) * x - P(n - 1,x) - (n - 1) * P(n - 2,x)) / n;
	}
}

int main() {
	int n;
	double x,value;
	printf("Input n and x : ");
	scanf("%d %lf", &n,&x);
	value=P(n,x);
	printf("%lf",value);
	return 0;
}



版权声明:本文为u013053957原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。