《C和指针》第7章第1道编程题:
Hermite Polynomials(厄密多项式)是这样定义的:
例如,H3(2)的值是40。请编写一个递归函数,计算Hn(x)的值。函数原型为:
int hermite( int n, int x );
1 /* 2 ** 计算Hermite Polynomials(厄密多项式)的值 3 */ 4 5 #include <stdio.h> 6 7 int hermite( int n, int x ); 8 9 int 10 main() 11 { 12 int n, x; 13 scanf( "%d%d", &n, &x ); 14 printf( "%d", hermite( n, x ) ); 15 return 0; 16 } 17 18 /* 19 ** 计算厄密多项式的值,递归函数版本 20 */ 21 int 22 hermite( int n, int x ) 23 { 24 int result; 25 26 if( n <= 0 ) 27 result = 1; 28 else { 29 if( n == 1 ) 30 result = 2 * x; 31 else 32 result = 2 * x * hermite( n - 1, x ) 33 - 2 * ( n - 1 ) * hermite( n - 2, x ); 34 } 35 return result; 36 }