汉偌塔问题求解方法

原创 2005年04月28日 08:11:00

#include <stdio.h>
#include <ctype.h>
#include<stdlib.h>
#include <stdarg.h>

void move(int n,char a,char b)
{
 printf("第%d个盘自从%c移动到%c/n",n,a,b);
}

void hanrta(int n,char x,char y,char z)
//把n个盘从x移动到z,用y做辅助柱子
{
 if(n==1)
  //若只有一个盘,则直接把这个盘从x柱子移动到z柱子
  move(1,x,z);
 else {
  //把n-1个从x移动到y,用z做辅助柱子
  hanrta(n-1,x,z,y);
  //把第n个盘(最底下的那个盘子了)从x移动到z
  move(n,x,z);
  //把n-1个盘子,从y移动到z,用x做辅助柱子
  hanrta(n-1,y,x,z);
 }
}

void main(void)
{
 hanrta(2,'x','y','z');
}

采用递归和非递归方法求解汉诺塔问题

递归:  #include void move(int n, int x, int y){         printf("the %dth plate from %c to %c\n",n,x...

queen8问题的求解方法

  • 2011年07月18日 14:35
  • 828B
  • 下载

C++面向对象方法求解约瑟夫环问题

约瑟夫问题有很多种解法及其变种,这里的约瑟夫环问题是这样的: [b]约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数...

《人工智能——一种现代方法》(第二版)【第3章 用搜索法对问题求解】小结

这章是第二部分问题求解的开篇,主讲运用搜索法解决问题。然后介绍常用无信息搜索策略(BFS,DFS,IDS……),还强调了下避免重复状态,最后提到了下使用不完全信息的搜索。 开章提到:当没有单独的行动...
  • BetaBin
  • BetaBin
  • 2012年07月29日 12:07
  • 3416

模式识别多分类问题求解方法

  • 2015年11月02日 22:53
  • 515KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:汉偌塔问题求解方法
举报原因:
原因补充:

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