当前位置: 首页 > article >正文

18938 汉诺塔问题

### 思路
1. **递归解决问题**:使用递归方法解决汉诺塔问题。
2. **递归基准**:当只有一个盘子时,直接从源杆移动到目标杆。
3. **递归步骤**:
   - 将`n-1`个盘子从源杆移动到辅助杆。
   - 将第`n`个盘子从源杆移动到目标杆。
   - 将`n-1`个盘子���辅助杆移动到目标杆。

### 伪代码
1. 定义`hanoi`函数,参数为盘子数目`n`,源杆`src`,目标杆`dest`,辅助杆`aux`。
2. 如果`n`为1,输出移动记录`src->1->dest`。
3. 否则:
   - 调用`hanoi(n-1, src, aux, dest)`。
   - 输出移动记录`src->n->dest`。
   - ��用`hanoi(n-1, aux, dest, src)`。

### C++代码

#include <iostream>
using namespace std;

void hanoi(int n, char src, char dest, char aux) {
    if (n == 1) {
        cout << src << "->1->" << dest << endl;
        return;
    }
    hanoi(n - 1, src, aux, dest);
    cout << src << "->" << n << "->" << dest << endl;
    hanoi(n - 1, aux, dest, src);
}

int main() {
    int n;
    char src, dest, aux;
    cin >> n >> src >> dest >> aux;
    hanoi(n, src, dest, aux);
    return 0;
}


 


http://www.kler.cn/a/314994.html

相关文章:

  • PyTorch深度学习与企业级项目实战-预训练语言模型GPT
  • 鸿蒙next版开发:相机开发-适配不同折叠状态的摄像头变更(ArkTS)
  • TortoiseSVN提示服务器凭证检核错误:站点名称不符
  • 力扣104 : 二叉树最大深度
  • sql server 查看io资源使用
  • 蔚来Java面试题及参考答案
  • 《深度学习》PyTorch 常用损失函数原理、用法解析
  • 【电力系统】基于遗传算法的33节点电力系统无功优化及MATLAB实现
  • LeetCode337. 打家劫舍III
  • springbootKPL比赛网上售票系统
  • Maven 项目无法下载某个依赖
  • 论 JAVA 集合框架中 接口与类的关系
  • 注册信息安全专业人员(CISP)和网络安全的联系与区别
  • FLStudio21Mac版flstudio v21.2.1.3430简体中文版下载(含Win/Mac)
  • windows cuda12.1 pytorch gpu环境配置
  • js之遍历方法
  • windows@文件系统链接@快捷方式@快捷键方式和符号链接及其对比
  • 本地提权【笔记总结】
  • 《AI:开启未来的无限可能》
  • 【django】局域网访问django启动的项目
  • MongoDB解说
  • 机器人速度雅可比矩阵(机器人动力学)
  • 自动化立体仓库与堆垛机单元的技术参数
  • 设计模式之结构型模式例题
  • 简单题35-搜索插入位置(Java and Python)20240919
  • 如何使用 C# 解决 Cloudflare Turnstile CAPTCHA 挑战