汉诺塔问题

原创 2013年12月06日 00:44:50

汉诺塔问题是我们在学习程序设计中的一个重要问题,未免应该熟练掌握。

下面是汉诺塔问题的算法:

   function  move(x,y)

   begin

        write("x--->y")

   end

   function hanoi(n,a,b,c)

   begin

        if n=1 then

          move (a,c)

       else

          begin

              hanoi(n-1,a,c,b)

              move(a,c)

              hanoi(n-1,b,a,c)

         end

 end

下面是关于汉诺塔的C语言代码

#include<stdio.h>
#include<stdlib.h>
int sum=0;
void move(char x,char y)
{
    
     printf("%c--->%c\n",x,y);
     sum++;
}
void hanoi(int n,char a ,char b,char c)
{
     if(n==1)
       move(a,c);
      else
      {
          hanoi(n-1,a,c,b);
          move(a,c);
          hanoi(n-1,b,a,c);
      }
}
int  main()
{
    int m;
    printf("input the number of diskes:");
    scanf("%d",&m);
    printf("the step to moving %d diskes:\n");
    hanoi(m,'A','B','C');
    printf("%d\n",sum);
    system("pause");
}

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

汉诺塔问题求解

  • 2015年06月15日 17:28
  • 1KB
  • 下载

c语言求解汉诺塔问题

  • 2014年08月22日 11:08
  • 12KB
  • 下载

Java经典算法——汉诺塔问题

题目: 最大圆盘在最底,其余依次叠上去,依次减小,现要求将圆盘逐个移动到另一根杆上,规定一次只能移动一个,且小的只能放到大的上面。 import java.util.Scanner; publ...

汉诺塔问题

  • 2014年11月14日 23:32
  • 21.94MB
  • 下载

汉诺塔问题

  • 2013年12月18日 00:29
  • 528B
  • 下载

【笔记】汉诺塔问题及python实现

汉诺塔关键在于递归 流程 python 实现
  • moshlwx
  • moshlwx
  • 2016年09月05日 23:02
  • 159

单列汉诺塔问题

  • 2013年10月06日 08:38
  • 1.68MB
  • 下载

汉诺塔问题

  • 2014年03月17日 23:54
  • 2KB
  • 下载

python实现简单的汉诺塔问题

汉诺塔问题可以简单描述成为将a柱子上的圆盘按一定规则借助b柱子完美地复制到c柱子上。现假设有a,b,c三根柱子,a柱子上的圆盘从上到下依次为标号为1,2,3,……,n,且为递增状态。规则:每次移动一个...

汉诺塔问题

  • 2014年04月28日 15:43
  • 4.78MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:汉诺塔问题
举报原因:
原因补充:

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