news 2026/6/16 1:39:30

人工智能通识 题目一

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
人工智能通识 题目一

汉诺塔问题

题目描述

有 3 根柱子(记为 A、B、C)和 n 个大小互不相同的圆盘,所有圆盘初始时都套在柱子 A 上,且圆盘按 “上小下大” 的顺序叠放(大圆盘不能放在小圆盘上方)。要求将所有圆盘从柱子 A 移动到柱子 C,期间可借助柱子 B 作为辅助,每次只能移动 1 个圆盘。请编写程序,输出移动圆盘的每一步操作步骤。

输入要求

输入一个正整数 n(表示圆盘的数量,1≤n≤10,避免递归深度过大)。

输出要求

每行输出一步移动操作,格式为:移动圆盘x从柱子X到柱子Y(其中 x 为圆盘编号,按 “上小下大” 编号为 1~n;X、Y 为柱子编号 A/B/C)。

用例输入1

n=1

用例输出1

移动圆盘1从柱子A到柱子C

用例输入2

n=2

用例输出2

移动圆盘1从柱子A到柱子B

移动圆盘2从柱子A到柱子C

移动圆盘1从柱子B到柱子C

用例输入3

n=3

用例输出3

移动圆盘1从柱子A到柱子C

移动圆盘2从柱子A到柱子B

移动圆盘1从柱子C到柱子B

移动圆盘3从柱子A到柱子C

移动圆盘1从柱子B到柱子A

移动圆盘2从柱子B到柱子C

移动圆盘1从柱子A到柱子C

def hanoi(n, source, auxiliary, target): """ 递归实现汉诺塔移动逻辑 :param n: 当前需要移动的圆盘数量 :param source: 起始柱子(如'A') :param auxiliary: 辅助柱子(如'B') :param target: 目标柱子(如'C') """ if n == 1: # 递归终止条件:只有1个圆盘时,直接从起始柱移到目标柱 print(f"移动圆盘1从柱子{source}到柱子{target}") return # 步骤1:把n-1个圆盘从起始柱移到辅助柱(借助目标柱) hanoi(n - 1, source, target, auxiliary) # 步骤2:把第n个圆盘从起始柱移到目标柱 print(f"移动圆盘{n}从柱子{source}到柱子{target}") # 步骤3:把n-1个圆盘从辅助柱移到目标柱(借助起始柱) hanoi(n - 1, auxiliary, source, target) # 处理用户输入并调用函数 if __name__ == "__main__": # 获取用户输入的圆盘数量,确保输入是1~10的正整数 while True: try: n = int(input("请输入圆盘数量n(1≤n≤10):")) if 1 <= n <= 10: break else: print("输入错误!请输入1到10之间的正整数。") except ValueError: print("输入错误!请输入有效的整数。") # 调用汉诺塔函数,起始柱A,辅助柱B,目标柱C hanoi(n, 'A', 'B', 'C')

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/16 4:21:49

Langchain-Chatchat TLS 1.3新特性理解问答系统

Langchain-Chatchat TLS 1.3新特性理解问答系统 在企业对数据隐私和安全合规要求日益严苛的今天&#xff0c;传统的云端AI问答系统正面临严峻挑战。尽管它们具备强大的语言理解能力&#xff0c;但将敏感文档上传至第三方服务器的做法&#xff0c;在金融、医疗或法律等行业几乎不…

作者头像 李华
网站建设 2026/6/15 8:21:19

Langchain-Chatchat CVSS评分理解问答平台

Langchain-Chatchat CVSS评分理解问答平台 在网络安全领域&#xff0c;面对每年数以万计的漏洞报告和复杂的CVSS评分体系&#xff0c;安全团队常常陷入“信息过载”的困境。一个典型的场景是&#xff1a;某位初级分析师需要判断一个新披露CVE的严重性&#xff0c;他必须翻阅《…

作者头像 李华
网站建设 2026/6/15 12:13:49

Langchain-Chatchat交互式应用安全测试(IAST)知识库

Langchain-Chatchat 构建 IAST 知识库的技术实践 在金融、医疗和政企系统中&#xff0c;安全文档的管理和利用始终是一大难题。渗透测试报告、合规规范、漏洞修复指南往往以非结构化形式分散在多个PDF或内部Wiki中&#xff0c;当开发人员需要快速获取某项安全建议时&#xff0c…

作者头像 李华
网站建设 2026/6/16 1:08:25

54、多线程编程中的同步、存储与异步模式解析

多线程编程中的同步、存储与异步模式解析 线程本地存储 在多线程编程中,同步锁的使用有时会带来性能和可扩展性方面的问题。例如在某些情况下,为特定数据元素提供同步可能过于复杂,尤其是在原始代码编写完成后再添加同步逻辑时。此时,隔离是一种替代同步的解决方案,而线…

作者头像 李华
网站建设 2026/6/15 18:45:51

终极Open3D轨迹平滑指南:告别抖动,实现丝滑三维重建

在三维重建和机器人导航的实际应用中&#xff0c;相机轨迹的平滑性往往决定着最终成果的质量。无论是SLAM系统采集的原始路径&#xff0c;还是多视角重建中的相机位姿序列&#xff0c;都可能因为传感器噪声、算法误差或环境干扰而产生抖动。这不仅影响视觉效果&#xff0c;更可…

作者头像 李华
网站建设 2026/6/14 20:10:51

Langchain-Chatchat分类目录组织方式:结构化知识管理

Langchain-Chatchat分类目录组织方式&#xff1a;结构化知识管理 在企业数字化转型的浪潮中&#xff0c;一个看似简单却日益棘手的问题正不断浮现&#xff1a;员工花太多时间找信息&#xff0c;而不是用信息。一份新员工入职三天才搞明白年假政策&#xff1b;一位技术支持反复翻…

作者头像 李华