第四章 过程抽象——函数(三)
来源:互联网 发布:查看windows重启日志 编辑:程序博客网 时间:2024/06/05 17:07
第十题:
迭代:
double H(int n,double x)
{
if(n==1) return 1;
double h1=1, h2=2*x;
for(int i=3;i<=n;i++){
double temp=2*x*h2-2*(i-1)*h1;
h1=h2;
h2=temp;
}
return h2;
}
递归
double Hermit(int n,double x)
{
switch(n)
{
case 1:
return 1;
case 2:
return 2*x;
default:
return 2*x*Hermit(n-1,x)-2*(n-1)*Hermit(n-2,x);
}
}
说明:以上两个版本都不检查n<=0的情况。
第十一题:
int Ack(int m,int n){
if(m==0)
return n+1;
else if (n==0)
return Ack(m-1,1);
else
return Ack(m-1,Ack(m,n-1));
}
说明:本函数没有检查m和n小于零的情况,因为根据题意所给的条件,m,n均大于零。也就是说,调用本函数的程序应该负责该部分的检查。
迭代:
double H(int n,double x)
{
if(n==1) return 1;
double h1=1, h2=2*x;
for(int i=3;i<=n;i++){
double temp=2*x*h2-2*(i-1)*h1;
h1=h2;
h2=temp;
}
return h2;
}
递归
double Hermit(int n,double x)
{
switch(n)
{
case 1:
return 1;
case 2:
return 2*x;
default:
return 2*x*Hermit(n-1,x)-2*(n-1)*Hermit(n-2,x);
}
}
说明:以上两个版本都不检查n<=0的情况。
第十一题:
int Ack(int m,int n){
if(m==0)
return n+1;
else if (n==0)
return Ack(m-1,1);
else
return Ack(m-1,Ack(m,n-1));
}
说明:本函数没有检查m和n小于零的情况,因为根据题意所给的条件,m,n均大于零。也就是说,调用本函数的程序应该负责该部分的检查。
- 第四章 过程抽象——函数(三)
- 第四章 过程抽象——函数(一)
- 第四章 过程抽象——函数(二)
- 第四章 过程抽象——函数(四)
- 过程抽象----函数(C++)
- SICP学习笔记及题解—构造过程抽象(三)
- SICP 读书笔记——第 一 章 构造过程抽象——第 3 节 用高阶函数做抽象
- JAVA基础(三)抽象类和抽象函数
- apue第四章(三)
- 第四章——函数与程序结构
- 《Visual C# 最佳实践》第四章 函数 (三):函数重载
- 软件工程——第四章 面向过程的软件设计方法
- mysql 基本操作 存储过程和函数详解 (第四章)
- 第四章 函数(&数组)
- C++笔记——c++编程思想(上)第四五六章数据抽象、初始化与清除
- C++笔记——c++编程思想(上)第四五六章数据抽象、初始化与清除
- C++primer(第四版)复习笔记—第三篇: 类和数据抽象
- C++学习笔记(第四章 函数的应用及多文件组织 之三)
- 几条常见的查询题
- What's OO?
- Ansi,UTF8,Unicode,ASCII编码
- shell脚本进度条
- Mysqld配置选项详细介绍
- 第四章 过程抽象——函数(三)
- 金山的一个小测试题~~~
- Sync Algorithm: RSync vs. RDC
- 基于CT-RBAC模型的继承性研究
- 有关Boot.ini文件的分析
- 用sql 语句 select into 和 insert into 备份数据 [转]
- 老大,我还在卖灯呢……
- frist
- 如何查看计算机端口状态