博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简单的汉诺塔问题
阅读量:7049 次
发布时间:2019-06-28

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

 

算法如下:

1 #include "stdafx.h" 2 #include
3 using namespace std; 4 int m = 0; 5 void move( int n, char A, char C) //把第n个盘子从A柱移到C柱 6 { 7 cout << ++m << "," << n << "," << A << "," << C << endl; //m为第几次执行移动操作 8 } 9 10 void Hanoi(int n, char A, char B, char C) //第n个盘子借助B柱从A柱移到C柱11 {12 if (n == 1)13 move(1 , A , C);14 else15 {16 Hanoi(n-1,A,C,B); //把第1——(n-1)个盘子看成一个整体,(n-1)个盘子借助C柱从A柱移到B柱17 move( n ,A, C); //第n个盘子从A柱移到C柱18 Hanoi(n - 1, B, A, C); //把第n个(也就是最后的最大的那个盘子)从B柱借助A柱移到C柱19 }20 }21 22 int main()23 {24 int p;25 cin >> p;26 Hanoi(p, 'A', 'B', 'C');27 return 0;28 }

 

一组温馨的样例:

 

转载于:https://www.cnblogs.com/Trojan00/p/8847615.html

你可能感兴趣的文章
易·school使用体验
查看>>
使用cxf构建webservice
查看>>
19.Kubernetes深入Pod之容器共享Volume
查看>>
Makefile中的变量和shell变量
查看>>
<转>ThinkPHP的开发常用系统配置项
查看>>
真正的让iframe自适应高度 兼容多种浏览器随着窗口大小改变
查看>>
大数据多维分析平台的实践
查看>>
Python常用函数
查看>>
二分法习题HDU2199
查看>>
strcpy,sprintf,memcpy的区别
查看>>
web框架
查看>>
线程互斥锁
查看>>
spring colud 博客
查看>>
Redis安装
查看>>
JavaScript 自学过程
查看>>
GDAL源码剖析(三)之Swig编译和帮助文档生成
查看>>
Android学习笔记:NDK入门一些总结
查看>>
Project Euler Problem 3: Largest prime factor
查看>>
颜色区分
查看>>
微信认证结果拆分为资质审核和名称审核
查看>>