/*递归法!

==========================================

题目:

Hermite 函数:输入n、x,求Hn(x)?

H0(x)=1;

H1(x)=2*x;

Hn(x)=2*x*Hn-1(x)-2*(n-1)Hn-2(x);

==========================================

*/

#include<stdio.h>

float H(int n,int x)

{

if(n==0) return 1;

if(n==1) return 2*x;

else

return 2*x*H(n-1,x)-2*(n-1)*H(n-2,x);

}

void main()

{

int n,x,flag=1;

float Hn;

while(flag)

{

printf("n=");

scanf("%d",&n);

if(n>0)

flag=0;

else printf("请确认n>0!!!\n\n又一次输入:\n");

}

printf("x=");

scanf("%d",&x);

Hn=H(n,x);

printf("H(%d)=%.2f\n",n,Hn);

}





/*

====================================================

评:

重在写出Hermite函数的递归表达!第一。有參数n,x;第二,

有三个表达式分别表示n=0,n=1,n=其它。最后递归到n=1或

n=0;第三,注意n是正整数。然后输入參数调用就可以!

====================================================

*/

05-17 09:47