厄密多项式的实现

来源:互联网 发布:音乐合并软件 编辑:程序博客网 时间:2024/04/28 05:59

题目:厄密多项式的定义:

Hn(x) = 1 , if( n<=0);

Hn(x) = 2x , if(n=1);

Hb(x) = 2xH(n-1)(x)-2(n-1)H(n-2)(x) , if(n>=2);

编写递归函数,函数应该和下面的函数原型匹配:

int hermite(int n, int x)

题目分析:

由厄密多项式的定义我们可以联想到以前做过的斐波那契数列,此类题目一般采用递归的思想实现,但对于数列的项非常大的数来说,使用递归实现的效率就值得商榷了。因为递归需要频繁的压栈出栈。


/*************************************************************************    > Copyright (C) 2015-2050SmartAll rights reserved    > File Name: hermite.c    > Author: Smart    > Mail: Smart_Coder@163.com    > Created Time: 2015-3-15 ************************************************************************/#include <stdio.h>int hermite(int n,int x){if(n<=0){return 1;}if(n==1){return x*2;}return 2*x*hermite(n-1,x)-2*(n-1)*hermite(n-2,x);}int main(){printf("%d\n",hermite(10,1));return 0;}
运行结果:





0 0
原创粉丝点击