`
v5qqbrowser
  • 浏览: 354986 次
文章分类
社区版块
存档分类
最新评论

C 语言 ---- 汉诺塔算法

 
阅读更多
#include <stdio.h>

void hannuota(int n, char A, char B, char C) 
{
	/*
	如果是1个盘子
		直接将A柱子上的盘子从A移到C
	否则
		先将A柱子的上的n-1个盘子借助C移动到B
		直接将A柱子上的盘子从A移动到C
		最后将B柱子上的n-1个盘子借助A移动到C

	*/
	if(1==n)
	{
		printf("将编号为%d的盘子直接从%c柱子移到%c柱子\n",n,A,C);
	}
	else 
	{
		hannuota(n-1,A,C,B);
		printf("将编号为%d的盘子直接从%c柱子移到%c柱子\n",n,A,C);
		hannuota(n-1,B,A,C);
	}
}

int main(void)
{
	hannuota(4,'A','B','C');
	return 0;
}

分享到:
评论

相关推荐

    c语言汉诺塔的递归算法

    这是我用c语言写的程序,我的其他资源都是免费的,是对于c语言初学者的帮助比较大的,其中有数据结构,window编程。我也在学c语言,每当我写完一个程序,我都会免费发上来。

    C汉诺塔的非递归算法.txt

    C汉诺塔的非递归算法.txt

    Go语言实现汉诺塔算法

    之前的文章,我们给大家分享了不少汉诺塔算法的实现语言,包括C、c++、java、python等,今天我们就来使用go语言来实现一下,需要的小伙伴来参考下吧。

    人工智能实验报告-实验一汉诺塔问题实现

    任选语言,完成算法的实现,并给出具体的移动步骤 尝试最多能完成几盘梵塔问题 相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上,有三根杆(编号A、B、C),在A杆自下而上、由大到小...

    python实现的汉诺塔算法示例

    本文实例讲述了python实现的汉诺塔算法。分享给大家供大家参考,具体如下: 规则: 圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定 在小圆盘上不能放大圆盘 在三根柱子之间一次只能移动一个圆盘。 ...

    PHP实现的解汉诺塔问题算法示例

    本文实例讲述了PHP实现的解汉诺塔问题算法。分享给大家供大家参考,具体如下: 问题描述: 相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上,有三根杆(编号A、B、C),在A杆自下而上...

    经典数据结构算法c语言实现代码(大全)

    汉诺塔2.txt 灯塔问题.txt 猴子和桃.txt 百鸡百钱.txt 矩阵乘法动态规划.txt 矩阵转换.txt 硬币分法.txt 神经元模型.txt 穷举搜索法.txt 符号图形.txt 简单数据库.txt 简单计算器.txt 简单逆阵.txt ...

    高级C语言 C 语言编程要点

    47. 汉诺塔源码 231 48. 洗牌算法 234 49. 深入理解C语言指针的奥秘 236 50. 游戏外挂的编写原理 254 51. 程序实例分析-为什么会陷入死循环 258 52. 空指针究竟指向了内存的哪个地方 260 53. 算术表达式的计算 265 ...

    分治算法的实现

    分治算法的具体代码实现,能实现较好的排序效率

    汉诺塔java源码-data-structures-algorithms:GoLang中数据结构和算法的实现

    汉诺塔java源码数据结构和算法 数据结构和算法(DSA)是计算机科学中最重要的课题之一,每个 CS 学生都必须精通,甚至非 CS 学生也必须对其有基本的了解。 据说DSA就像面包和黄油,CS的必需品。 这个存储库是为那些...

    数据结构(C语言版),第三章栈全部算法实现

    此次资源为清华大学计算机教程-数据结构(c语言版)第三章栈的全部算法实现,包括:数制转化、括号匹配、行编程程序、迷宫求解、表达式求职和汉诺塔问题求解6个算法,实现语言为JAVA,全部表明算法详细注解,希望对各位...

    汉诺塔java源码-hanoi:河内

    汉诺塔java源码河内 出于我对递归的兴趣(以及早期理解上的挣扎)而产生的一个小练习。 虽然一般递归 - 尤其是著名的河内塔问题 - 是早期 CS 课程中常见的概念,但我发现我(和我的许多同事)很早就在这个概念上挣扎...

    数据结构算法与应用-C__语言描述

    数据结构算法与应用-C__语言描述 目 录 译者序 前言 第一部分 预备知识 第1章 C++程序设计 1 1.1 引言 1 1.2 函数与参数 2 1.2.1 传值参数 2 1.2.2 模板函数 3 1.2.3 引用参数 3 1.2.4 常量引用参数 4 1.2.5 返回值 ...

    数据结构算法与应用-C C++语言描述

    5.5.2 汉诺塔 170 5.5.3 火车车厢重排 172 5.5.4 开关盒布线 176 5.5.5 离线等价类问题 178 5.5.6 迷宫老鼠 180 5.6 参考及推荐读物 188 第6章 队列 189 6.1 抽象数据类型 189 6.2 公式化描述 190 6.3 链表描述 194 ...

    数据结构算法与应用(C++语言描述).rar

    5.5.2 汉诺塔 170 5.5.3 火车车厢重排 172 5.5.4 开关盒布线 176 5.5.5 离线等价类问题 178 5.5.6 迷宫老鼠 180 5.6 参考及推荐读物 188 第6章 队列 189 6.1 抽象数据类型 189 6.2 公式化描述 190 6.3 链表描述 194 ...

    C/C++常用算法手册.秦姣华(有详细书签).rar

    10.6.1 汉诺塔算法 312 10.6.2 汉诺塔求解 314 10.7 窃贼问题 315 10.7.1 窃贼问题算法 315 10.7.2 窃贼问题求解 317 10.8 马踏棋盘 320 10.8.1 马踏棋盘算法 320 10.8.2 马踏棋盘求解 321 10.9 八皇后问题...

    Python基于递归算法实现的汉诺塔与Fibonacci数列示例

    本文实例讲述了Python基于递归算法实现的汉诺塔与Fibonacci数列。分享给大家供大家参考,具体如下: 这里我们通过2个例子,学习python中递归的使用。 1. 找出Fibonacci数列中,下标为 n 的数(下标从0计数) ...

    c语言难点分析整理,C语言

    47. 汉诺塔源码 231 48. 洗牌算法 234 49. 深入理解C语言指针的奥秘 236 50. 游戏外挂的编写原理 254 51. 程序实例分析-为什么会陷入死循环 258 52. 空指针究竟指向了内存的哪个地方 260 53. 算术表达式的计算 265 ...

Global site tag (gtag.js) - Google Analytics