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

/*
 Date: 07/03/19 15:40
 Description: 用递归法求n阶勒让德多项式的值
           { 1     n=0
      Pn(x)=  { x     n=1
           { ((2n-1).x-Pn-1(x)-(n-1).Pn-2(x)/n   n>=1
*/

#include<stdio.h>

float Legendre(int x,int n);

int main(void)

{

  int x,n;

  float value;

  printf("Enter the order of the polynomials:\n");

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

  printf("n=%d,x=%d\n\n",n,x);

    value=Legendre(x,n);

  printf("P%d(%d)=%6.3f\n",n,x,value);

  return 0;

}

float Legendre(int x,int n)

{

  float value;

  if(n==0)

    value=1;

  else if(n==1)

    value=x;

  else

    value=((2*n-1)*x-Legendre(x,n-1)-(n-1)*Legendre(x,n-2))/n;

  return value;

}

上一篇:阿里云小程序云应用环境DIY,延长3倍免费期


下一篇:Java中静态代码块,代码块,构造方法的理解