• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > 简单的汉诺塔问题解法代码

简单的汉诺塔问题解法代码

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了汉诺塔解法,汉诺塔问题代码,汉诺塔问题,c语言汉诺塔问题,汉诺塔问题递归算法等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

以前学东西不扎实,现在捡捡也好,汉诺塔本是C语言开门就学的东西,不过上课那会儿真心听不懂,直到大二了,才明白那是咋回事,我感觉的编程,真的是一张窗户纸,不过捅破要花时间理解吸收。

题目描述:有一个塔,塔内有A,B,C三个柱子。起初,A柱上有n个盘子,依次由大到小、从下往上堆放,要求将它们全部移到C柱上;在移动过程中可以利用B柱,但每次只能移到一个盘子,且必须使三个柱子上始终保持大盘在下,小盘在上的状态。要求编程输出移动的步骤。

代码如下:

int hanoi(int n,char one,char two,char three)//是核心函数了
{
    int move(char one,char two);
    if(n==1)//当只有一个盘子时,直接从a柱移到c柱就好,也是递归程序的一个出口
      move(one,three);
    else{   //盘子大于一时
        hanoi(n-1,one,three,two);//先借助c柱把上面的n-1个盘子从a柱全部移动到b柱
        move(one,three);           //这时a柱只剩下一个盘子了,移动到c柱即可
        hanoi(n-1,two,one,three);//将b柱剩下的n-1个盘子借助a柱移动到c柱,任务也就完成了
    }
}
int main()
{
    int n;
    char a,b,c;
    while(scanf("%d",&n)!=EOF)//可以输入多组数据检验结果
       hanoi(n,'a','b','c');
    }
</div>

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 简单的汉诺塔问题解法代码

相关文章

  • 2017-05-28C++中const的用法详细总结
  • 2017-05-28详解C 语言项目中.h文件和.c文件的关系
  • 2017-05-28详解C语言中的符号常量、变量与算术表达式
  • 2017-05-28c++ minicsv库的编译错误与解决方案
  • 2017-05-28解析c语言中"函数调用中缺少哨兵"的情况分析
  • 2017-05-28pcre函数详细解析
  • 2017-05-28C++实现第K顺序统计量的求解方法
  • 2017-05-28C++实现inline hook的原理及应用实例
  • 2017-05-28探讨C语言的那些小秘密之断言
  • 2017-05-28Cocos2d-x学习笔记之开发环境搭建

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • socket多人聊天程序C语言版(一)
    • 位运算实现十进制转换为二进制
    • 如何求连续几个数之和的最大值
    • C++11的for循环,以及范围Range类的简单实现
    • break的使用for循环嵌套示例
    • 使用C语言来解决循环队列问题的方法
    • c语言实现二叉查找树实例方法
    • c语言生成随机数的方法(获得一组不同的随机数)
    • C++针对bmp格式解析实例
    • 使用opencv拉伸图像扩大分辨率示例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有