当前位置: 首页 > news >正文

简洁风格的网站模板旅社网站建设

简洁风格的网站模板,旅社网站建设,网站建设的结论和体会,html5网站建设平台汉诺塔 汉诺塔#xff08;Tower of Hanoi#xff09;#xff08;河内塔#xff09;#xff1a;把圆盘从下面开始按大小顺序重新摆放到另一根柱子上#xff0c;并且小圆盘上不能放大圆盘#xff0c;在三根柱子之间一次只能移动一个圆盘。 汉诺塔规则 disk表示圆盘数一次只… 汉诺塔 汉诺塔Tower of Hanoi河内塔把圆盘从下面开始按大小顺序重新摆放到另一根柱子上并且小圆盘上不能放大圆盘在三根柱子之间一次只能移动一个圆盘。 汉诺塔规则 disk表示圆盘数一次只能移动一个圆盘小圆盘只能在大圆盘的上方A 、B 、C分别表示圆柱A为起始圆柱、B为中转圆柱、C为终止圆柱 disk 1 时 移动次数为2^1 - 1 只需要将绿色圆盘从 A-C 直接移过去 A-C disk 2 时 移动次数为2^2 - 1一次只能移动一个圆盘 黄色圆盘从 A-B绿色圆盘从 A-C黄色圆盘从 B-C A-B  A-C  B-C disk 3 时 移动次数为2^3 - 1一次只能移动一个圆盘 粉色圆盘从 A-C黄色圆盘从 A-B粉色圆盘从 C-B绿色圆盘从 A-C粉色圆盘从 B-A黄色圆盘从 B-C粉色圆盘从 A-C A-C  A-B  C-B  A-C  B-A  B-C  A-C 递归分析 先看desk 3 个圆盘时我们是先将圆柱A上面的2个圆盘3 - 1借助圆柱C最终移动到圆柱B上此时圆柱A上就只剩1个圆盘就可以直接将圆盘从圆柱A移动到圆柱C desk 2个圆盘先将圆柱B上面的那1个圆盘2 - 1最终直接从圆柱B移动到圆柱A上此时圆柱B上就只剩1个圆盘就可以直接从圆柱B移动到圆柱C上 只剩最后1个圆盘了则是直接从圆柱A上移动到圆柱C上 disk n 时 移动次数为2^n - 1一次只能移动一个圆盘 错误递归分析 当desk n个圆盘时需要将圆柱A上面的n-1个圆盘借助圆柱C最终移动到圆柱B上此时圆柱A上就只剩1个圆盘则直接从圆柱A移动到圆柱C  desk n 时先将圆柱B上面的n-1个圆盘借助圆柱C最终移到圆柱A上此时圆柱A上有n-1个圆盘递归以上步骤 当 desk n-1时需要将圆柱A上面的(n-1) - 1个圆盘借助圆柱C移到圆柱B上这里已经在开始和desk n 的情况一样此时圆柱A上就只剩1个圆盘则直接从圆柱A移动到圆柱C desk n-1时先将圆柱B上面的(n-1) - 1个圆盘借助圆柱C最终移到圆柱A上此时圆柱A上有(n-1) - 1个圆盘递归以上步骤 错误代码分析 public class TowerOfHanoi {public static void hanoi(int n, char posA, char posB, char posC) {// hanoi(圆盘个数参数1参数2参数3)// 参数1表示起始位置、参数2表示中转位置、参数3表示终止位置if(n 1) {move(posA, posC);return; // 递归一定要return}// 这一步就是将 圆柱A 上的 n-1个 圆盘// 借助圆柱C 移动到 圆柱B上hanoi(n-1, posA, posC, posB);// 将圆柱A上剩下的一个移到圆柱C上move(posA, posC);// 将 圆柱B 上的所有圆盘 借助圆柱C 移到圆柱A上hanoi(n-1, posB, posC, posA); // 这里是错的}public static void move(char pos1, char pos2) {System.out.println(pos1 - pos2);}public static void main(String[] args) {hanoi(3, A, B, C);} } 正确递归分析 当desk n个圆盘时需要将圆柱A上面的n-1个圆盘借助圆柱C最终移动到圆柱B上此时圆柱A上就只剩1个圆盘则直接从圆柱A移动到圆柱C将圆柱B上的n-1个圆盘借助圆柱A最终移动到圆柱C上此时圆柱B上就只剩一个圆盘则直接从圆柱B移动到圆柱C 正确代码分析 public class TowerOfHanoi {public static void hanoi(int n, char posA, char posB, char posC) {// hanoi(圆盘个数参数1参数2参数3)// 参数1表示起始位置、参数2表示中转位置、参数3表示终止位置if(n 1) {move(posA, posC);return; // 递归一定要return}// 这一步就是将 圆柱A 上的 n-1个 圆盘// 借助圆柱C 移动到 圆柱B上hanoi(n-1, posA, posC, posB);// 将圆柱A上剩下的一个移到圆柱C上move(posA, posC);hanoi(n-1, posB, posA, posC);}public static void move(char pos1, char pos2) {System.out.println(pos1 - pos2);}public static void main(String[] args) {hanoi(3, A, B, C);} }
http://www.ho-use.cn/article/10815389.html

相关文章:

  • 商会网站建设招标方案做设计的有什么网站
  • 看手表网站wordpress英文写作插件
  • 建设网站上海求南浦做电商网站
  • 做网站龙华苏州企业网站制作设计公司
  • 安阳哪有做网站的外贸网址导航
  • 怎样进入国外网站c mvc网站做404
  • 网站开发属于什么软件网站备案半身照
  • 万州哪里有做网站的北京搬家公司哪家最好
  • 长沙哪个公司做网站网络建站详情图
  • 北京高端网站建设有限公司小程序源码怎么上传
  • 苏州专业做网站公司有哪些程序开发的基本步骤四个
  • 网站类软文龙岩e龙岩网
  • wp做网站需要多久网站哪里可以查到做ddos
  • 网站备案表格临沂建设工程质量 监督网站
  • 网站备案信息是什么意思描述建设一个网站的基本步骤
  • 宜昌微网站建设开发一个网站需要的技术
  • 泽成seo网站排名wordpress编辑页面打不开
  • 西宁建设工程信息网站最新国际军事新闻头条新闻
  • 模仿的网站做一样违法吗湖南省住房建设厅网站
  • 乌镇网站开发文档专业做鞋子网站
  • wordpress下载网站模板高端网站建设 南京
  • 扬州西区网站建设网络设计课程设计前言
  • 云服务器如何搭建网站python网站和js做网站
  • 做网站推广方法网站有没有做等级测评怎么查看
  • p2p网站建设后期维护做网站公司广州
  • 有哪些网站是做网批女装网站建好后
  • 模板网站能用吗广州做网站服务
  • 广西两学一做网站阿里国际网站官网入口
  • 企业科技网站建设wordpress开发页面
  • 网站项目的设计制作阿里logo设计网站