Hermite Polynomials (厄密多项式) 是这样定义的:
例如,H3(2)的值是40。请编写一个递归函数,计算Hn(x)的值。你的函数应该与下面的原型匹配:
int hermite( int n, int x);
Hermite polynomials用于物理学和统计学。它们也可以作为递归练习在程序中使用。
#include <stdio.h>
/**
* 计算 Hermite polynomial 的值
*
* 输入:
* n, x:用于标识值
*
* 输出:
* polynomial的值(返回值)
**/
int hermite( int n, int x )
{
// 处理不需要递归的特殊情况。
if( n <= 0 )
return 1;
if( n == 1 )
return 2 * x;
// 否则,递归地计算结果值。
return 2 * x * hermite( n - l, x ) - 2 * ( n - 1 ) * hermite ( n - 2, x );
}
int main()
{
printf("%d\n", hermite(3,2));
return 0;
}