C/C++函数递归的趣味题

1、汉诺塔问题

  题目:

  先来分析一下当圆盘数较小时的操作步骤。

   代码
//递归求解汉诺塔问题
void move(char, char);
void HanoiTower(int, char, char, char);
int main() {cout << "请输入A柱上的圆盘数量:";int n;cin >> n;HanoiTower(n , 'A', 'B', 'C');return 0;
}void move(char x, char y) {cout << x << "->" << y << "\t";
}void HanoiTower(int n, char a, char b, char c) {if (n == 1) {move(a, c);//将A柱上最后一个圆盘移动到c柱return;//不返回找不到出口}else {HanoiTower(n - 1, a, c, b);//递归调用,将n-1个圆盘从a柱移动到b柱move(a, c);                //移动一个圆盘HanoiTower(n - 1, b, a, c);//递归调用,将n-1个圆盘从b柱移动到c柱}
}

   运行结果

2、猴子吃桃问题

  题目:

猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少个桃子?

  代码

//递归解猴子吃桃问题
int eat_peach(int day) {int num;if (day == 10)num = 1;elsenum = (eat_peach(day + 1) + 1)*2;return num;
}
int main() {cout << "第一天有" << eat_peach(1) << "个桃子";}

  运行结果
  当day较大时,递归层次太深,遇到栈溢出问题

 后续还会有函数递归类似的题补充在这里。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/284299.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用java调用python批处理将pdf转为图片

你可以使用Java中的ProcessBuilder来调用Python脚本&#xff0c;并将PDF转换为图片。以下是一个简单的Java代码示例&#xff0c;假设你的Python脚本名为pdf2img.py&#xff1a; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader…

springboot 集成 redis luttuce redisson ,单机 集群模式(根据不同环境读取不同环境的配置)

luttuce 和redisson配置过程中实际上是独立的&#xff0c;他们两个可以同时集成&#xff0c;但是没有直接相关关系&#xff0c;配置相对独立。 所以分为Lettuce 和 Redisson 两套配置 父pom <!-- Spring Data Redis --><dependency><groupId>org.springframe…

如何在安装了巨魔2的iphone中运行Theos编译的本地化二进制工具:Bootstrap

如何在安装了巨魔2的iphone中运行Theos编译的本地化二进制工具:Bootstrap 一、首先从https://github.com/34306/iPA/releases/tag/bstr下载jb.zip、jb_with_jb_folder.zip、prefs_fix.ipa三个文件。 二、然后使用Filza文件管理器把jb.zip解压后复制到/var/containers/jb目录&…

精益数字化的三个应用价值

精益管理起源于丰田&#xff0c;聚焦于生产现场。精益数字化作为数字时代的精益管理&#xff0c;也被企业用来解决生产环节的问题。随着应用的不断持续与深入&#xff0c;企业在全价值链以及产品全生命周期环节中也开始应用精益数字化进行改善。 从调研数据中我们发现&#xf…

基于双目RGB图像和图像深度信息的三维室内场景建模matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 双目视觉原理 4.2 深度信息获取 4.3 表面重建 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 .....................................…

prometheus-监控系统学习笔记02-安装实践-安装包方式

参考来源&#xff1a; B站视频&#xff1a;https://www.bilibili.com/video/BV17v4y1H76R 通过视频中的一建部署&#xff0c;完成组件的环境搭建&#xff0c;而且很快&#xff0c;不到十分钟。 记录下操作步骤 cd /opt/ #进入opt目录 git clone https://gitee.com/linge365…

eNSP综合实验合集(eNSP综合大作业合集)_可先收藏

作者&#xff1a;BSXY_19计科_陈永跃 BSXY_信息学院 注&#xff1a;未经允许禁止转发任何内容 **注&#xff1a;在该文章中就只对ensp综合实验做一个总结和归纳&#xff0c;只给出相应的topo图和需求说明和对应的文章的连接。有什么问题也可以私信我&#xff0c;看到都会回复的…

实验4.1 静态路由的配置

实验4.1 静态路由的配置 一、任务描述二、任务分析三、具体要求四、实验拓扑五、任务实施1.设置交换机和路由器的基本配置。2.使用display ip interface brief命令查看接口配置信息。3.配置静态路由&#xff0c;实现全网互通。 六、任务验收七、任务小结 一、任务描述 某公司刚…

mysql 21day yum安装数据库

目录 mysql下载官网下载mysql 源进入mysql 官网 yum安装mysql先安装mysql 源检查源修改安装版本方法一方法二 安装命令 mysql使用启动&开机启动查看密码修改密码登录数据库 mysql下载官网 https://dev.mysql.com/doc/ 链接: 点击进入mysql官网 下载mysql 源 进入mysql 官…

第9章:深度探讨知识问答系统评测:智能背后的挑战与技术方案

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…

JavaScript 循环语句之for、while循环 | break continue

for循环 <!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>首页</title> </head><body><script type"text/javascript">var num 100 for (let i 0; i < num; i){console.log(i)}&l…

MySQL安装——备赛笔记——2024全国职业院校技能大赛“大数据应用开发”赛项——任务2:离线数据处理

MySQLhttps://www.mysql.com/ 将下发的ds_db01.sql数据库文件放置mysql中 12、编写Scala代码&#xff0c;使用Spark将MySQL的ds_db01库中表user_info的全量数据抽取到Hive的ods库中表user_info。字段名称、类型不变&#xff0c;同时添加静态分区&#xff0c;分区字段为etl_da…