汉诺塔-递归实现

原创 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;
}

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

相关文章推荐

汉诺塔问题的java递归实现

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

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

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

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

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

递归:首先A上有n个圆盘,只需现将n-1个圆盘由A借助C移动到B,再将A上第n个圆盘由A直接移到C,再将B上的n-1个圆盘移到C上即可,而要想移动n-1        个圆盘,就要先移动n-2个圆盘,...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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