C++用递归实现求解相关函数
2024-10-20 11:44:15
//递归实现Hanoi塔问题
#include<iostream>
#include<cstdlib>
using namespace std;
#define MAXSIZE 100
#define OK 1
#define ERROR 0
typedef int Status;
typedef int Elemtype;
Status move(int n, char A, char C)//进行移东,将A移动到C柱子上
{
int m = 0;
cout << ++m << "," << n << "," << A << "," << C;
return OK;
}
Status Hanoi(int n, char A, char B, char C)//A为起始柱子,B为辅助柱子,C为目的柱子
{
if (n == 1)
{
move(1, A, C);
cout << "进行一次移动,从A塔移动到C塔。" << endl;
}
else
{
Hanoi(n - 1, A, C, B);
move(n, A, C);
Hanoi(n - 1, B, A, C);
}
return OK;
}
//递归求阶乘n!
Status Fat(int n)
{
if (n == 1) return 1;
else
{
return n * Fat(n - 1);
}
}
//递归求斐波那契函数
Status Fib(int n)
{
if (n == 1 || n == 2) return 1;
else return Fib(n - 1) + Fib(n + 1);
}
最新文章
- Python自动化之select解析
- SQL Server索引 (原理、存储)聚集索引、非聚集索引、堆 <;第一篇>;
- 从UnitedStack OS 1.0 Preview试用申请问卷调查学习OpenStack
- Android之UI--重绘EditText以及实现Button的渐变色
- MySQL中的两个时间函数,用来做两个时间之间的对比
- Oracle常见操作汇总(转)
- IAR for STM8 错误
- PHP通过phpmailer批量发送邮件功能
- java基础 关于final修饰符
- C++ 动态链接库 DLL 的一些笔记
- 把一个syn报文给rst掉
- (转)JavaWeb学习之Servlet(三)----Servlet的映射匹配问题、线程安全问题
- iot-web增加apis-namespace组件
- Hive配置永久显示表字段名并且不显示表名
- Lintcode455-StudentID-Easy
- Python知识
- testNG参数化
- Windows 7运行命令大全
- 通过tarball形式安装HBASE Cluster(CDH5.0.2)——配置分布式集群中的YARN ResourceManager 的HA
- ARM 编译工具keil 和 IAR 命令行编译和下载
热门文章
- python之路26 面向对象魔法方法、元类、元类定制类、对象的产生行为 __new__方法
- Maui 读取外部文件显示到Blazor中
- 使用SQL4Automation让CodeSYS连接数据库
- C语言:使用malloc申请一个二级指针,外层为3个元素,内层为5个元素。使用并释放。
- day04-Spring管理Bean-IOC-02
- 使用IIS配置代理,转发POST和GET访问,配置IIS接口转发失效问题处理
- java入门与进阶 P-3.2+P-3.3+P3.4
- KingbaseES在线wal日志
- Rust Rand生成随机数
- P22_条件渲染