算法之一 河内之塔
河内之塔介绍
河内之塔(Towers of Hanoi)是法国人M.Claus(Lucas)于1883年从泰国带至法国的,河内为越战时北越的首都,即现在的胡志明市;1883年法国数学家 Edouard Lucas曾提及这个故事,据说创世纪时Benares有一座波罗教塔,是由三支钻石棒(Pag)所支撑,开始时神在第一根棒上放置64个由上至下依由小至大排列的金盘(Disc),并命令僧侣将所有的金盘从第一根石棒移至第三根石棒,且搬运过程中遵守大盘子在小盘子之下的原则,若每日仅搬一个盘子,则当盘子全数搬运完毕之时,此塔将毁损,而也就是世界末日来临之时。
上代码
public static void main(String[] args) throws IOException {int n;BufferedReader buf;buf=new BufferedReader(new InputStreamReader(System.in));System.out.println("请输入盘数:");n=Integer.parseInt(buf.readLine());Hanoi hanoi=new Hanoi();hanoi.move(n,"A","B","C");}private void move(int n, String a, String b, String c) {if (n==1){System.out.println("盘 " + n + " 由 " + a + " 移至 " + c);}else {move(n-1,a,c,b);System.out.println("盘 " + n + " 由 " + a + " 移至 " + c);move(n-1,b,a,c);}}
个人理解
能明白流程 可还是一脸的蒙蔽看这个代码
算法之一 河内之塔相关推荐
- 【C】C语言之经典算法:河内之塔(1)
文章目录 前言 一.背景 二.思路解析 三.流程图解析 四.代码附上 五.结果 六.参考链接 [C]C语言之经典算法:河内之塔(1) 前言 博主开通了C语言算法专栏,旨在对于有关C语言的一些经典算法的 ...
- java算法1——河内之塔
河内之塔游戏规则:有A.B.C三个石棒,A上有若干个从小到大依次排列的盘子,盘子的数量为n,现在要求,将A棒上的盘子依次移动到C棒上,并且移动过程中要保证小盘在大盘之上. (1)当n=1时:将 ...
- JAVA经典算法之河内之塔
1 .河内之塔 说明 河内之塔(Towers of Hanoi)是法国人M.Claus(Lucas)于 1883 年从泰国带至法国的,河内为越战时 北越的首都,即现在的胡志明市: 1883 年法国数学 ...
- java算法之———河内之塔
package demo; /** * 河内之塔(Towers of Hanoi)是法国人M.Claus(Lucas)于1883年从泰国带至法国的,河内为越战时 * 北越的首都,即现在的胡志明市:18 ...
- 河内塔算法java_河内递归塔Java
这是我使用递归解决河内塔的Java代码: /**here is a stack of N disks on the first of three poles (call them A, B and C ...
- 河内之塔算法php,河内之塔(汉诺塔)
题目: 三个柱子刚互维曾屏以公式近开.护相蔽我司幻近开. A.B.C.在A柱子从上到下 按照从小到大的顺序放置64盘子,命令将所有的盘子从A柱子移至C柱子,并且搬运过程中小盘子不能放在大盘子上面,且 ...
- java优秀算法河内之塔_河内塔的Java程序
java优秀算法河内之塔 Tower of Hanoi is a mathematical puzzle where we have three rods and n disks. The objec ...
- 河内之塔算法_如何解决河内问题之塔-图解算法指南
河内之塔算法 Before getting started, let's talk about what the Tower of Hanoi problem is. Well, this is a ...
- 河内之塔java_java优秀算法河内之塔_河内塔的Java程序
java优秀算法河内之塔 Tower of Hanoi is a mathematical puzzle where we have three rods and n disks. The objec ...
最新文章
- 安装惠普笔记本XP三种方法
- Ubuntu下压缩解压文件
- 利用LED+LDR组成可控组件搭建的振荡电路
- 猫猫学IOS(二十四)UI之注册案例
- resize函数_Excel VBA解读(134): 使用Excel函数提高自定义函数的效率
- 【Flutter】Flutter 手势交互 ( 点击事件处理 | 点击 onTap | 双击 | 长按 onLongPress | 点击取消 | 按下 onTapDown | 抬起 onTapUp )
- Linux很有用的根据字符串查找符合条件的命令
- CTFshow 文件包含 web79
- 如何保证交叉表编译器和目标系统版本一致_嵌入式系统词汇表
- Java 创建线程的三种方式
- 【强连通分量·Tarjan】bzoj1179: [Apio2009]Atm
- windows 的一些快捷键
- SqlServer事务回滚失败
- ipv6单播地址包括哪两种类型_Ipv6详解
- 微信 java抓取_【java】微信文章抓取
- python微博相册爬虫
- 家谱处理(30 分)(字符串的处理substr)
- mac笔记本电脑外接显示器没有声音
- 标准化考场时钟系统方案
- PCL点云去背景(相减)的方法
热门文章
- BTCOIL新能源线圈、扁线线圈、汽车新能源线圈关键词提取
- sw2015安装找不到服务器,新手安装SolidWorks2015出现几个问题,求大神帮助!!
- 世纪前线网络质量测试工具 是什么_上海控安发布汽车信息安全评估工具箱:一款标准化、自动化的安全测试工具...
- moto xt882 540*960分辨率不能全屏的问题(2边出现黑边)
- 华云数据荣获2021中国软件和信息服务业信创实力企业及社会责任贡献企业双项大奖
- Python的顺序流程、选择流程、循环流程
- 在线漫画app开发,更好地保证用户的个性化体验
- 自主复习CISA方法
- 汇编语言--将字符串中小写字母转换成大写字母
- MISSING YOU