Hanoi塔问题的编程解决

本文简要介绍了汉诺塔问题,并通过C语言实现了递归解决方案。代码包括hanoi.h、hanoi.c和Main.c三个文件,程序演示了汉诺塔的移动过程。
摘要由CSDN通过智能技术生成

      汉诺塔是一个比较经典的问题,有许多的资料可供参考,此处只做简略描述。需要详细了解的读者可以参考网上的其他资料。这里使用调用的方法实现问题的解决。
      汉诺塔问题可以视为将n号盘子之上的所有盘子搬到c轴上,把n号盘子搬到b轴上,再把n-1个盘子从c轴上搬回到a轴上的问题。其中将n-1个盘子搬出去的操作与将n-1个盘子搬回来的操作实际上是一个盘子个数为n-1,改变了a,b,c轴的汉诺塔问题,则可以通过递归调用自身实现,递归出口为n=1时将盘子从a搬到b.

编写代码如下:
hanoi.h

static int j = 0;
static int i = 1;
void move(char x, int n, char z);
void hanoi(int n, char x, char y, 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值