汉诺塔-递归实现

原创 2015年07月06日 19:59:08
#include<stdio.h>
void move(char x,char y)
{
	printf("%c->%c\n",x,y);
}
//将n个盘子从1中借助2移动到3
void hanoi(int n,char one,char two,char three)
{
	if(n==1)
		move(one,three);
	else
	{
		hanoi(n-1,one,two,three);
		move(one,three);
		hanoi(n-1,two,one,three);

	}
}
int main()
{
	int m;//盘子个数
	scanf("%d",&m);
	hanoi(m,'A','B','C');
	return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

汉诺塔递归C++实现

  • 2013年07月09日 10:44
  • 759B
  • 下载

汉诺塔的递归实现

  • 2012年06月20日 10:25
  • 34KB
  • 下载

汉诺塔问题的java递归实现

import java.util.Scanner; public class Hanoi { int count=0; public void hanoi(int n,char A,char B...

汉诺塔递归实现(C语言)

  • 2012年10月28日 15:47
  • 511B
  • 下载

对于汉诺塔递归的实现和步骤跟踪

对于汉诺塔的理解,教材上解说的很直白,但不是很好理解,在参考了期待秋天的叶博主的“经典汉诺塔实现”之后,对汉诺塔递归思想的理解,有很大的提高。               设置参数:from为移动...

用递归实现汉诺塔问题

  • 2008年12月21日 14:28
  • 277B
  • 下载

mfc(递归实现汉诺塔)

  • 2008年09月30日 20:27
  • 1.88MB
  • 下载

算法思考--------汉诺塔c语言实现-------递归

递归:首先A上有n个圆盘,只需现将n-1个圆盘由A借助C移动到B,再将A上第n个圆盘由A直接移到C,再将B上的n-1个圆盘移到C上即可,而要想移动n-1        个圆盘,就要先移动n-2个圆盘,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:汉诺塔-递归实现
举报原因:
原因补充:

(最多只允许输入30个字)