博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
汉诺塔问题的C++实现
阅读量:5033 次
发布时间:2019-06-12

本文共 879 字,大约阅读时间需要 2 分钟。

有三根杆子A,B,C。A杆上有N个(N>1)穿孔圆环,盘的尺寸由下到上依次变小。要求按下列规则将所有圆盘移至C杆:每次只能移动一个圆盘;大盘不能叠在小盘上面。如何移?最少要移动多少次?

原理可参考:  中的讲解


#include
using namespace std;void Hanoi(int,char,char,char);int main(){ int n; cin >> n; Hanoi(n, 'a', 'b', 'c'); system("pause"); return 0;}void Hanoi(int n, char a, char b, char c) //move a's plates to c column{ if (n == 1) { cout << "move plate " << n << " from " << a << " to " << c << endl; //move the last plate to the target column } else { Hanoi(n - 1, a, c, b); //move (n-1)*plate from a(previous column) to b(transition column) cout << "move plate " << n << " from " << a << " to " << c << endl;//move 'n' plate from a to target column Hanoi(n - 1, b, a, c); //move (n-1)*plate from b(transition column) to c(target column) }}

 

转载于:https://www.cnblogs.com/Aurora-Borealis/p/11169593.html

你可能感兴趣的文章
【MySQL】MySQL锁和隔离级别浅析二 之 INSERT
查看>>
Oracle T4-2 使用ILOM CLI升级Firmware
查看>>
4.14上午
查看>>
数据分析 -- 白话一下什么是决策树模型(转载)
查看>>
Java SPI机制原理和使用场景
查看>>
web前端java script学习2017.7.18
查看>>
删除TXPlatform
查看>>
LaTex:图片排版
查看>>
并发访问超时的问题可能性(引用)
查看>>
中小团队基于Docker的Devops实践
查看>>
利用python打开摄像头并保存
查看>>
System函数的使用说明
查看>>
Selenium-测试对象操作之:获取浏览器滚动条滚动距离
查看>>
Linux下MySQL数据库安装与配置
查看>>
Extjs String转Json
查看>>
oracle入门(4)——少而常用的命令
查看>>
打印机设置(PrintDialog)、页面设置(PageSetupDialog) 及 RDLC报表如何选择指定打印机...
查看>>
Java 虚拟机部分面试题
查看>>
JS中 String/JSON 方法总结
查看>>
二叉树的遍历问题总结
查看>>