汉诺塔算法 java_java实现汉诺塔算法
package com.ywx.count;
import java.util.Scanner;
/**
* @author Vashon
* date:20150410
*
* 题目:汉诺塔算法(本道程序结合了<>的分析思路,通过重构完成。)
*
* 递归分析(有兴趣的可以去研究非递归的):移动n个金片从a到c,必须先将n-1个金片从a经过c移动到b,移动n-1个问题相同,但规模变小.
* 1.将n-1个金片从a经过c移动到b
* 2.将第n个金片移动到c
* 3.再将n-1个金片从b经过a移动到c
*/
public class Hannoi {
public static void main(String args[]){
System.out.println("请输入要移动的块数:");
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
move(n,'a','b','c');
}
public static void move(int n,char a,char b,char c){
if(n==1){ //当n只有1个的时候直接从a移动到c
System.out.println(a+"-->"+c);
}else{
move(n-1,a,c,b);
System.out.println(a+"-->"+c);
move(n-1,b,a,c);//第n-1个移动过来之后b变开始盘,b通过a移动到c
}
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
汉诺塔算法 java_java实现汉诺塔算法相关推荐
- 微信抢红包算法 java_java 实现仿照微信抢红包算法,实测结果基本和微信吻合,附demo...
实现拼手气红包算法,有以下几个需要注意的地方: 抢红包的期望收益应与先后顺序无关 保证每个用户至少能抢到一个预设的最小金额,人民币红包设置的最小金额一般是0.01元,如果需要发其他货币类型的红包,比如 ...
- 【YBT高效进阶】1基础算法/1逆推算法/2奇怪汉诺塔
[YBT高效进阶]1基础算法/1逆推算法/2奇怪汉诺塔 内存限制:256 MiB 时间限制:1000 ms 标准输入输出 题目类型:传统 评测方式:文本比较 题目描述 汉诺塔问题,条件如下: 这里有 ...
- 算法 - 递归实现汉诺塔(The Tower of Hanoi)
目录 引言: 分析: 分析两片汉诺塔的迁移过程: 分析三片汉诺塔的迁移过程: 代码实现: 递归出口: 递归过程: 完整程序代码: 运行结果: 参考资料: 引言: 今天接触到了一个非常有意思的 ...
- python汉诺塔的求解_Python汉诺塔算法解析
昨天看廖雪峰的Python教程,看到了递归函数,具体的递归函数看他讲的就可以,最好自己好好研究一下递归函数是干啥的,对于学习这一节有帮助,最后面有一个汉诺塔的练习题,汉诺塔简单来说就是三根柱子,A,B ...
- 汉诺塔系列问题: 汉诺塔II、汉诺塔III、汉诺塔IV、汉诺塔V、汉诺塔VI、汉诺塔VII
汉诺塔II:(hdu1207) /先说汉若塔I(经典汉若塔问题),有三塔,A塔从小到大从上至下放有N个盘子,现在要搬到目标C上, 规则小的必需放在大的上面,每次搬一个,求最小步数.这个问题简单,DP: ...
- 汉诺塔系列问题: 汉诺塔II、汉诺塔III、汉诺塔IV、汉诺塔V、汉诺塔VI
汉诺塔 汉诺塔II hdu1207: 先说汉若塔I(经典汉若塔问题),有三塔,A塔从小到大从上至下放有N个盘子,现在要搬到目标C上, 规则小的必需放在大的上面,每次搬一个,求最小步数.这个问题简单,D ...
- linux汉诺塔实验报告,数据结构-汉诺塔-实验报告
数据结构-汉诺塔-实验报告 所属分类:Windows编程 开发工具:Visual C++ 文件大小:17KB 下载次数:1 上传日期:2017-12-13 11:59:17 上 传 者:会飞的树叶 说 ...
- 汉诺塔python代码解释_Python-汉诺塔原理分析
最近在"廖雪峰的官方网站"学习Python,遇到汉诺塔递归问题百思不得其解,先是百度了汉诺塔原理,然后查看了别人的写的文章,通过整理汇总,希望能够帮助其他人理解. 汉诺塔原理:(来 ...
- 比亚迪汉鸿蒙系统测评_比亚迪汉性能强悍,麋鹿测试成绩超80km/h
作者: johnny 2020-04-29/12:04 驱动中国2020年4月29日消息 比亚迪汉EV定位于纯电动中型轿车,随着上市日期临近,越来越多比亚迪汉的消息被曝光出来.日前,比亚迪汽车销售 ...
最新文章
- UA OPTI501 电磁波 Lorentz Oscillator Model 3 相速度与群速度
- codeforces732D Exams(二分)
- App 即时通讯 SDK
- 小腿训练三部曲(二)
- 逻辑推理篇:数据分析中违背常理的悖论:辛普森悖论
- java集合转换_java各种集合的转换
- 【Python爬虫】Beautiful Soup库入门
- Java 多线程 之 wait等待 线程实例
- html在按钮中加图片,在html里面怎么为一个按钮添加图片
- 语言(文化)代码与国家地区对照表
- html种颜色的三种不同表示方法,html网页背景颜色的代码是什么?颜色有几种表示方法?...
- excel2010设置列宽为像素_如何以厘米为单位精确设置Excel表格的行高列宽?
- linux中的__setup的作用
- 微信注册验证成功之后不跳转_微信小号怎么申请(绑定了微信的手机号怎么注册新的微信)...
- iDRAC 7 Enterp license
- 绵阳现在买房怕房价跌,不买又怕房价涨!到底是跌是涨?
- Spring基础-AOP-切入点详解
- Unity报错:Assertion failed on expression: ‘IsMatrixValid(matrix)‘...的解决办法
- linux使用sts4,视听说sts4-4
- 分布式一致性协议:拜占庭将军问题