代码来自维基教科书:C++ Programming As A Set Of Problems。

程序如下:

 #include <iostream>void hanoi(int depth, int from, int to, int alternate){if(depth == 0){return;}hanoi(depth-1, from, alternate, to);std::cout << "Move ring " << depth << " from pole " << from << " to pole " << to << "." << std::endl;hanoi(depth-1, alternate, to, from);}int main(int argc, char** argv){hanoi(4, 1, 2, 3);return 0;}

程序运行结果如下:

Move ring 1 from pole 1 to pole 3.
Move ring 2 from pole 1 to pole 2.
Move ring 1 from pole 3 to pole 2.
Move ring 3 from pole 1 to pole 3.
Move ring 1 from pole 2 to pole 1.
Move ring 2 from pole 2 to pole 3.
Move ring 1 from pole 1 to pole 3.
Move ring 4 from pole 1 to pole 2.
Move ring 1 from pole 3 to pole 2.
Move ring 2 from pole 3 to pole 1.
Move ring 1 from pole 2 to pole 1.
Move ring 3 from pole 3 to pole 2.
Move ring 1 from pole 1 to pole 3.
Move ring 2 from pole 1 to pole 2.
Move ring 1 from pole 3 to pole 2.

转载于:https://www.cnblogs.com/tigerisland/p/7564850.html

I00014 汉若塔问题的C++程序相关推荐

  1. 汉诺塔游戏c 语言程序,〖C语言程序设计〗汉诺塔游戏

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 程序执行 当输入10时(搬十个盘子) Input the munber of diskes: 10 The step to moving 10 diske ...

  2. CCF NOI1070 汉诺塔游戏

    问题链接:CCF NOI1070 汉诺塔游戏. 时间限制: 1000 ms  空间限制: 262144 KB 题目描述 汉诺塔由编号为1到n大小不同的圆盘和三根柱子a,b,c组成,编号越小盘子越小.开 ...

  3. python汉诺塔递归算法流程图_详解汉诺塔Python递归程序

    学习递归时,很多小伙伴对汉诺塔的递归算法非常疑惑,不清楚那么复杂的移动过程,为何用四五行代码就给解决了.汉诺塔问题:有三根柱子A,B,C.A柱上有若干碟子,每次移动一块碟子,小的只能叠在大的上面,把所 ...

  4. 用java编写汉诺塔问题_数据结构与算法之汉诺塔问题(Java递归)

    汉诺塔问题: 有三根柱子,源杆A,暂存杆temp,目的杆C A上有n层盘子,由小到大向下排列,现需要将A杆的盘子移到C杆中 要求:1)大的盘在下面,小的盘在上面 2)一次只能移动一个盘子 个人思路:先 ...

  5. 汉诺塔演示程序.py

    这个可视化程序增加了设定汉诺塔盘子数与设定移动速度的按钮. 以下是源代码: """汉诺塔演示程序.py本程序需要sprites模块支持,请用cmd命令打开管理员窗口并且输 ...

  6. ICS计算系统概论LC3汇编实验Lab5—中断、递归解决汉诺塔问题

    Lab Purpose 完成用户程序的编写. 编写下面描述的键盘中断服务例程. condition: 用户程序: 汉诺塔的参数,记录为N,将用xFFFF初始化并存储在X3FFF内存中. 您的用户程序从 ...

  7. 汉诺塔问题(分治+源码+动画演示)

    汉诺塔问题(分治+源码+动画演示) 汉诺塔问题源自印度一个古老的传说,印度教的"创造之神"梵天创造世界时做了 3 根金刚石柱,其中的一根柱子上按照从小到大的顺序摞着 64 个黄金圆 ...

  8. 汉诺塔算法 java_java实现汉诺塔算法

    package com.ywx.count; import java.util.Scanner; /** * @author Vashon * date:20150410 * * 题目:汉诺塔算法(本 ...

  9. 汉诺塔(Hanoi Tower),又称河内塔,源于印度一个古老传说。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺

    import java.awt.*; import java.awt.event.*; public class hanota extends Frame implements ActionListe ...

最新文章

  1. vue+webpack (vue-cli + vuex + vue-resource + vue-router) web工程搭建
  2. BZOJ 2073: [POI2004]PRZ( 状压dp )
  3. C++运算符重载(友元函数方式)
  4. python调用bat脚本传参,将参数从批处理文件传递给Python
  5. HDU - 2049 不容易系列之(4)——考新郎(错排问题+组合数学)
  6. 一个故事 让你看懂“区块链”
  7. 手机计算机数字显示在桌面上,手机计算器有哪些使用方法
  8. Lottie 站在巨人的肩膀上实现 Android 酷炫动画效果
  9. WINFORM 调用 Close 不会释放窗体
  10. .NET学习知识和技术总结
  11. java虚拟机(JVM)的内存设置
  12. 如何对物联网数据进行大数据分析
  13. Microsoft SQL Server 2008 Management Studio Express 下载地址
  14. 【iOS】NSNotification 常用方法
  15. WLAN概述——无线网络简介
  16. CSDN极客头条使用指南
  17. sockaddr_in结构体、socklen_t类型、bzero函数简要记录
  18. ICT项目管理与实施体系
  19. 古代常见文学常识汇总
  20. cmak(kafka Manager) 编译教程

热门文章

  1. linux io端口复用,Linux系统IO复用接口(select、poll、epoll)
  2. Hibernate的拦截器和监听器 .
  3. centos7编译安装php7.3
  4. 【新手提问导读】提问的艺术
  5. [转]JS调用Android里面的方法,Android调用JS里面的方法
  6. Axure函数与变量
  7. 使用VS2013在WIN8.1上运行gaclib的hello world
  8. Linux + RIL.pdf
  9. 开发DBA(APPLICATION DBA)的重要性
  10. man da'te