3.2汉诺塔作业

python实例——看看汉诺塔问题 python实例——看看汉诺塔问题1. 问题背景2. 问题导入3. 问题分析4. 准备5. 试编写6. 完善7. 最后说说 1. 问题背景 在世界某个地方有一个很虔诚的宗教组织,其中僧侣维护着一项神圣任务: 保持宇宙的时间。在时间的最开始,僧倡在平台上竖立了3个垂直杆,在最左侧杆上有64个不同半径的金色同心圆盘,直径较大的圆盘堆放在下方,形成了金字塔样子的整体外观。僧侣们的任务是将所有圆盘从最左侧... 阅读详情

1.代码输入

#include <stdio.h>

void hanoi(int paraN, char a, char b, char c)
{
	if (paraN <= 0) {
		return 1;
	}
	else {
		hanoi(paraN- 1, a, c, b);
		printf("%c -> %c\n", a, b);
		hanoi(paraN - 1, c, b, a);
	}
}

void hanoiTest()
{
	printf("-----hanoi Test begins-----\n");

	printf("2 plates are starting.\n");
	hanoi(3, 'A', 'B', 'C');
	
	printf("3 plates are starting.\n");
	hanoi(2, 'A', 'B', 'C');

	printf("-----hanoi Test ends-----\n");
}

void main()
{
	hanoiTest();
}

2.结果输出

代码如下(示例):

-----hanoi Test begins-----
2 plates are starting.
A -> B
A -> C
B -> C
A -> B
C -> A
C -> B
A -> B
3 plates are starting.
A -> C
A -> B
C -> B
-----hanoi Test ends-----
(蓝桥杯)STM32G431RBT6(SysTick timer) 选用最基础的定时器。 阅读详情

相关推荐

STM32H750实战:用TIM+DMA驱动ADC/DAC实现音频回环(附CubeMX配置避坑指南)

本文详细介绍了在STM32H750上构建高保真、低延迟音频链路的实战方法。通过配置TIM定时器作为硬件节拍器,精准触发ADC采集与DAC播放,并利用DMA实现数据的自动搬运,全程无需CPU干预。文章重点剖析了CubeMX配置中的关键步骤与常见“坑点”,如ADC的Conversion Data Management模式选择、DMA的FIFO与Burst模式配置,以及STM32H7系列必须开启ADC全局中断等,并提供了完整的代码实现与调试验证指南。

1057

C++汉诺塔综合演示[2025-05-20]

本次C++汉诺塔综合演示作业要求将之前的所有汉诺塔小题集成在一个程序中,并通过菜单方式进行选择,加入伪图形化演示。作业严格限制使用未讲授的知识点,如指针、引用、结构体等,并禁止使用goto、全局变量、C++的string变量以及scanf/printf。程序需做到“0 errors,0 warnings”。作业分为多个菜单项,包括汉诺塔演示、图形化显示、圆盘移动等,每个菜单项实现不同的功能。伪图形界面部分提供了工具函数集,用于清屏、移动字符光标等操作。作业要求使用递归函数,并限制函数行数,强调代码的复用性和

code helper 839

疲劳容器的定义_FKM规范针对非焊接构件疲劳强度评估实例介绍(下篇)

一、写在前面FKM Inside ANSYS软件,该软件是在FKM 规范的基础上,在ANSYS Workbench内开发的进行非焊接构件及焊缝静强度和疲劳强度评估的工具包。基于ANSYS计算模型的信息,在图形用户界面定义相关设置,利用有限元分析计算结果,自动嵌入FKM规范要求的静强度计算和疲劳强度计算流程和方法,自动将应力结果和相关物理量传递给工具包,无须手动预先选择评估的热点区域,可以...

weixin_35925298的博客 1885

Python课后作业 1. 汉诺塔问题 ---- (第八次作业)

文章目录前引闲聊汉诺塔博客分析代码实现提交结果 前引闲聊 这次的作业啊 我觉得就挺有意思的 尽管我觉得第二个那个分治法找硬币题目真的好蠢好蠢好蠢 具体蠢在哪里我就在分治法找硬币那道题讲 我记得之前我上学期 我就看到了这个汉诺塔问题 但当时确实水平有限 再加上放寒假了 就???? ???? ???? 鸽掉惹 没想到这次的题就布置了汉诺塔 那顺带这次把汉诺塔问题解决了 汉诺塔博客分析 当看到这类问题 其实第一个思路就应该是递归解决 汉诺塔精讲部分我放一个博客链接 确实讲的很清楚很好 但需要本身有递归的基

Love 6's Private Blog 1769

Cesium雷达追踪追踪(圆锥体效果)

【代码】Cesium雷达追踪追踪(圆锥体效果)

God's asylum的博客 2931

深入大模型-13-大模型Skills应用之标准目录结构和开发一个Skill的步骤

首先对比Prompt工程,上下文工程,Skills工程,MCP工具的概念与区别,然后介绍Skill的标准目录结构,同时描述了开发一个Skill的步骤和最佳实践。

qq_20466211的博客 748

汉诺塔问题以及时间复杂度

汉诺塔问题递归方法以及时间复杂度的分析

No Code No Life 5万+

29、高速低功耗采样保持放大器设计

本文详细介绍了适用于低功耗模数转换器的高速低电压采样保持放大器(SHA)的设计技术,包括传统SHA的局限性、采样技术分类以及全NPN型和BiCMOS型SHA的具体设计实现。同时,文章深入探讨了优化输入电容、采样开关驱动及低功耗设计等具体措施,并提供了10位ADC前端和无线通信应用中的实例分析,为相关领域的工程师提供有价值的参考。

weixin_30600615的博客 425

汉诺塔作业——汪楷

【代码】汉诺塔作业——汪楷。

WK202431060046的博客 209

YOLOv11旋转目标检测详解:从原理到实战的全面指南

本文介绍了YOLOv11旋转目标检测技术的核心概念、架构设计与应用场景。传统目标检测使用水平边界框(AABB)存在背景噪声大、定位精度低等问题,而旋转边界框(OBB)通过引入角度参数显著提升了检测精度,在遥感、OCR、工业质检等领域具有独特优势。YOLOv11-OBB采用改进的多尺度检测层、CSPDarknet53骨干网络和双通道角度输出机制,在保持实时性的同时实现精确的旋转目标检测。实验表明,该方法在DOTA数据集上达到81.3%的mAP,相比传统方法提升显著,特别适合处理具有旋转特性或高宽比悬殊的目标。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 302

硬件工程师笔记——三极管Multisim电路仿真实验汇总

NPN型三极管:由N型半导体、P型半导体和N型半导体组成,即NPN结构。 PNP型三极管:由P型半导体、N型半导体和P型半导体组成,即PNP结构。 三极管的工作原理基于电流的控制和放大,其核心是基区对电流的控制作用。 将三极管等效为两个串联的二极管进行等效分析

XU157303764的博客 2637

课后作业,汉诺塔

1、程序设计思想 设置盘子个数,递推出盘子的摆放顺序,反复执行,直至盘子挪到另外一个柱子上。 2、程序流程图 3、源代码 package java作业; import java.util.Scanner; public class hannuo { static int m=0; public static void move(char A, int n, char C)...

dianqian3434的博客 229

zabbix深度监控之邮件告警、微信群和微信告警

本文详细介绍了Zabbix监控系统实现邮件告警和微信告警的配置方法。邮件告警部分包含QQ和163邮箱的SMTP服务器配置、消息模板设置、告警流程三步骤(媒介配置、触发器动作、用户设置)。微信告警分为两种方式:企业微信群机器人告警(通过webhook实现)和企业微信应用告警(需创建应用并获取API参数)。两种告警方式都提供了完整的配置流程,包括脚本编写、权限设置、消息模板定制等关键步骤,并特别说明了如何使个人微信接收企业微信告警消息。文章还对比了SMTP、POP3、IMAP三种邮件协议的差异及适用场景。

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 817

第十二周 项目三:用递归方法解决汉诺塔问题

问题及代码: 运行结果: 知识点总结: 学习心得:

linan_141的专栏 821

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

汉诺塔问题分析(作业)

在汉诺塔问题的函数调用中,实参是指调用函数时传入的具体参数值,例如hanoi(n, 'A', 'B', 'C')中的'n'、'A'、'B'和'C'即为实参。设盘子个数为n时,需要T(n)步,把A柱子n-1个盘子移到B柱子,需要T(n-1)步,A柱子最后一个盘子移到C柱子一步,B柱子上n-1个盘子移到C柱子上T(n-1)步。另外,自顶向下,逐步求精的编程方式也有助于代码的复用,因为函数可以重复调用,从而实现在不同的场景中使用同样的代码,实现了程序的解耦和复用。因此,递归调用的最大深度为n。

a3107420389的博客 372

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

java大作业汉诺塔,Java算法_汉诺塔

//汉诺塔算法public static void main(String[] args) {int nDisks = 3;doTower(nDisks, 'A', 'B', 'C');//调用doTower方法,用static可以直接调用,不需要用构造器构造后调用}public static void doTower(int topN,char from,char inter,char to){...

weixin_33037713的博客 180

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

个盘子的汉诺塔需要移动几步_坨——理解递归实现"汉诺塔"代码的关键...

我记得,大学学C语言时,在函数递归调用那一节有个作业,就是写汉诺塔。不少同学遭遇到困难。在知乎上遇见的就有:如何理解汉诺塔的递归?​www.zhihu.com题主发出悲鸣:“……学C++递归篇 看懂了斐波那契序列的递归 但是却死也看不懂移动汉诺塔……”还有:如果看不懂汉诺塔的递归逻辑,是不是可以放弃学习编程了?​www.zhihu.com这位朋友仿佛被为难到怀疑起人生“……是不是可以放弃学习编程了...

weixin_34966284的博客 1161

数据结构作业10 - 汉诺塔的递归

--- 汉诺塔测试开始 -------- 汉诺塔测试结束 ----

2401_87228035的博客 133

python123汉诺塔作业答案_汉诺塔高级玩法.py

# -*- coding: utf-8 -*-# Time : 2019/4/5 22:35# Author : Mifen# Email : 2952277346@qq.com# Github : https://github.com/Amd794import turtleclass Stack:def __init__(self):self.items = []def isEmp...

weixin_39846378的博客 431

作业:10汉诺塔

提示:该blog仅为了完成作业,大佬请绕路 文章目录老师的代码我的代码 老师的代码 #include <stdio.h> /** * Hanoi. */ void hanoi(int paraN, char paraSource, char paraDestination, char paraTransit) { if (paraN <= 0) { return; } else { hanoi(paraN - 1, paraSource, paraTransit, .

TSQ12的博客 168

作业:汉诺塔问题和相关感悟

【代码】作业:汉诺塔问题。

tyx209的博客 495

陈斌老师《数据结构与算法Python版》第五周作业——四柱汉诺塔

陈斌老师《数据结构与算法Python版》第五周作业——四柱汉诺塔1 题目2 思路3 程序如下4 总结 1 题目 题目内容: 如课上所说,汉诺塔问题源于印度一个古老传说。对于原始的汉诺塔游戏,可供玩家操作的空间一共只有三根柱子,导致按原传说的要求,需要超过1.8*10^19步才能解开。 透过新增柱子可以大幅度地减少需要的步数。此处要求在给出指定的盘数,柱子数量为4(即限制为4根柱子)且不改变原有传...

FJ_qiao的博客 1142

第十一周作业

C语言程序设计II C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/computer-scienceclass4-2018/homework/3203 我在这个课程的目标是 递归函数的应用,学习宏的基本用法 这个作业在那个具体方面帮助我实现目标 汉诺塔问题 参考文...

161

数据结构作业-汉诺塔问题

自己在上一学期一直没有理解到汉诺塔问题该如何处理,在自己重新敲这个代码的时候,开始慢慢理解汉诺塔问题的处理本质和思路。在逻辑思维能力上得到了一定的加强。

YuyuanOK的博客 510

汉诺塔问题

汉诺塔问题 问题描述和背景: 汉诺塔是学习"递归"的经典入门案例,该案例来源于真实故事。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬在世界某个地方有个很虔诚的宗教组织,其中僧侣维护者一项神圣任务:保持宇宙的时间(好伟大啊....)。在时间的最开...

weixin_30345055的博客 479

汉诺塔问题的递归实现(扩展)

汉诺塔问题的递归实现 汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。 1.汉诺塔(基本) 汉诺塔问题是典型的分治算法问题,首先我们来讨

GinSmile的博客 1万+
上一篇: 3.1栈-作业
下一篇: 3.2 作业-括号匹配
dev_cc_
博客等级 码龄3年 41粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值