新闻详情

新闻详情

首页 / 资讯中心 / 详情

汉诺塔宏观表示 —— C语言

发布时间:2026/11/4 18:26:55来源:尧图网络
汉诺塔宏观表示 —— C语言
引言初次学习递归时汉诺塔作为典型例题难倒了不少初学者。这是因为初学者们总是想细致地、一步一步地观察出其移动步骤这显然是难以做到的。因此我们可以先从宏观上入手。汉诺塔http://ybt.ssoier.cn:8088/problem_show.php?pid1205汉诺塔介绍汉诺塔Tower of Hanoi是源于印度古老传说的益智玩具由法国数学家爱德华·卢卡斯于1883年正式提出。它不仅是经典的智力游戏更是计算机科学中讲解递归算法最经典的案例之一。传说在世界中心贝拿勒斯的圣庙里一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界时在其中一根针上从下到上穿好了由大到小的64片金片。僧侣们按照以下法则日夜不停地移动这些金片一次只移动一片不管在哪根针上小片必须在大片上面。预言说当所有的金片都移到另一根针上时世界就将在一声霹雳中消灭。汉诺塔问题可以抽象为有三根柱子通常标记为 A、B、C初始时 A 柱上从下到上按大小顺序叠放着 n 个圆盘。目标是将所有圆盘移动到 C 柱上移动过程中必须遵守以下规则每次只能移动一个圆盘每次只能移动柱子最顶层的圆盘任何时刻大盘不得置于小盘之上。解决问题我们可以先从简单的例子入手当 n1 时步骤如下图只需要一步 A → B当 n2 时步骤如下图需要 3 步 A → C A → B C → B当 n3 时我们可以将积木拆解成 n 与 n-1 当成只有两块积木时来做。先将 n-1 A → C类似于 n2将 B C 柱子互换完成再将 n A - B最后 n-1 C → B代码实现#define _CRT_SECURE_NO_WARNINGS #include stdio.h void dfs(int n, char a, char c, char b)//将 n 从 a 借助 c 移动到 b { if (n 0) // 如果没有积木则直接返回 return; dfs(n - 1, a, b, c); // 将 n-1 从 a 借助 b 移动到 c printf(%c-%d-%c\n, a, n, c); // 输出 n 从 a 移动到 c 的过程 dfs(n - 1, c, a, b); // 再将 n-1 从 c 借助 a 移动到 b } int main() { int n 0; scanf(%d, n); dfs(n, a, c, b);// 将 n 从 a 借助 c 移动到 b return 0; }通过宏观方式我们只需要了解函数原理不去探讨每一步具体如何移动更加适合初学者来理解汉诺塔的原理。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/4 15:56:54

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/3 12:09:35

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/4 17:01:23

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/4 12:33:12

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/4 1:25:31

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/4 3:51:11

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉