首页 > 代码库 > 用递归函数计算厄密多项式

用递归函数计算厄密多项式

《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         else32             result = 2 * x * hermite( n - 1, x ) 33                 - 2 * ( n - 1 ) * hermite( n - 2, x );34     }        35     return result;36 }

 

用递归函数计算厄密多项式