/*递归法!
==========================================
题目:
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是正整数!然后输入参数调用即可!
====================================================
*/
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-27 17:38:21