C语言之函数调用11—递归法求Hermite函数

/*递归法!

==========================================

题目:

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

C语言之函数调用11—递归法求Hermite函数的相关文章

C语言之函数调用12—递归法求阿克曼函数

//递归法! /* =========================================== 题目:编写阿克曼函数的递归函数程序! A(m,n)= n+1                (m=0) A(m-1,1)       (m=0) A(m-1,A(m,n-1))            (m!=0,n!=0) =========================================== */ #include<stdio.h> int A(int m,int n)

C语言之函数调用13—递归法求N阶勒让德多项式的值

//递归法! /* ======================================================= n阶勒让德多项式,n=1时,Pn(x)=x;n>=1时, Pn(x)=((2n-1)x-Pn-1(x)-(n-1)Pn-2(x))/2. ======================================================= */ #include <stdio.h> #include <math.h> double p(

C语言之函数调用17—递归法之一般函数的调用(2)

//递归法 /* ================================================================== 题目:求F(60),其中F(n)定义如下: F(0)=0; F(1)=1; F(2n)=f(n)+3; F(2n+1)=F(n)+F(2n-1). ================================================================== */ #include<stdio.h> double F(in

C语言之函数调用16—递归法之一般函数的调用

//递归法 /* ================================================================== 题目:F(x,1)=1 F(x,n)=F(2x+1,n-1)*x  (n>1) ================================================================== */ #include<stdio.h> double F(float x,int n) { if(n==1) return

C语言之函数调用17—递归法之中的一个般函数的调用(2)

//递归法 /* ================================================================== 题目:求F(60),当中F(n)定义例如以下: F(0)=0; F(1)=1; F(2n)=f(n)+3; F(2n+1)=F(n)+F(2n-1). ================================================================== */ #include<stdio.h> double F(

C语言之函数调用14—递归法打印勒让德多项式前N项

//递归法 /* ================================================================== 题目:勒让德多项式 ================================================================== */ #include <stdio.h> double p(int n,double x) { if(n==0)return 1.0; else if(n==1)return x; else

嵌入式C语言自我修养 11:有一种函数,叫内建函数

11.1 什么是内建函数 内建函数,顾名思义,就是编译器内部实现的函数.这些函数跟关键字一样,可以直接使用,无须像标准库函数那样,要 #include 对应的头文件才能使用. 内建函数的函数命名,通常以 __builtin 开头.这些函数主要在编译器内部使用,主要是为编译器服务的.内建函数的主要用途如下. 用来处理变长参数列表: 用来处理程序运行异常: 程序的编译优化.性能优化: 查看函数运行中的底层信息.堆栈信息等: C 标准库函数的内建版本. 因为内建函数是编译器内部定义,主要由编译器相关的

C语言复习---矩形法求定积分函数

一:分析: 大一学习积分的时候,我们学习过,可以通过矩形法来求定积分. 思路就是将积分区间划分成n等份,然后将这n等份近似看成矩形(或梯形),然后对所有的矩形(或梯形)的面积进行求和. 二:简单的例子 求函数X^2在的定积分 矩形法: #include<iostream> #include<math.h> using namespace std; int main(){ float fun(float x); float a, b; cout << "请输入函

C语言之函数调用08—暴力法求4个数的最大公约数和最小公倍数

//数组枚举法 /* ========================================================== 题目:求4个数的最大公约数和最小公倍数. ========================================================== */ #include<stdio.h> #define N 4 main() { int a[N],gys,gbs; int i,j,m=1; int flag=1; printf("输