一、题目

http://acm.wust.edu.cn/problem.php?id=1223&soj=0

二、代码

import java.util.*;public class Main {Scanner in = new Scanner(System.in);int step, n; // step移动的步数,n盘子个数/*** 构造方法*/public Main() {while(in.hasNext()){// 每次都重置为第一步step = 1;// 输入盘子个数n = in.nextInt();// 将n个盘子从A柱子移动到C柱子hanoi(n, 'A', 'B', 'C');// 每组数据空一行System.out.println();}}/*** @param n 盘子个数* @param A 当前状态的第一根柱子* @param B 当前状态的第二根柱子* @param C 当前状态的第三根柱子*/public void hanoi(int n, char A, char B, char C) {// 最后一个盘子直接从A柱子移动到C柱子if(1 == n) {move(A, C);} else {// 将上面n-1个盘子从A柱子移动到B柱子hanoi(n - 1, A, C, B);// 将最下面的盘子从A柱子移动到C柱子move(A, C);// 将B柱子上的n-1个盘子移动到C柱子hanoi(n - 1, B, A, C);}}/*** 将盘子从x柱子移动到y柱子* @param x 盘子的源柱子* @param y 盘子的目的柱子*/public void move(char x, char y) {System.out.println("Case #" + step + ": from " + x + " to " + y + ".");step++;   // 步数加1}public static void main(String[] args) {new Main();}}

三、截图

转载于:https://www.cnblogs.com/wowpH/p/11060844.html

1223: 输出汉诺塔问题的盘子移动步骤(Java)相关推荐

  1. 输出汉诺塔的移动步骤

    对于汉诺塔问题的求解,可以通过以下三个步骤实现: 将塔A上的n-1个碟子借助塔C先移到塔B上. 把塔A上剩下的一个碟子移到塔C上. 将n-1个碟子从塔B借助塔A移到塔C上. #include < ...

  2. 数据结构--汉诺塔--借助栈实现非递归---Java

    1 /*汉诺塔非递归实现--利用栈 2 * 1.创建一个栈,栈中每个元素包含的信息:盘子编号,3个塔座的变量 3 * 2.先进栈,在利用循环判断是否栈空, 4 * 3.非空情况下,出栈,检查是否只有一 ...

  3. 汉诺塔(Hanoi)移动步骤问题

    汉诺塔 (Hanoi) 规则:把n个盘子从A柱,移动到C柱,中间可以使用B柱,把移动的步骤及移动的步数打印出来.( 递归方法 ) #include <stdio.h>int step = ...

  4. Python模拟汉诺塔问题移动盘子的过程

    据说古代有一个梵塔,塔内有三个底座A.B.C,A座上有64个盘子,盘子大小不等,大的在下,小的在上.有一个和尚想把这64个盘子从A座移到C座,但每次只能允许移动一个盘子,在移动盘子的过程中可以利用B座 ...

  5. python汉诺塔运行程序_用python编写一个程序,得到汉诺塔的解决方案

    古代有一座汉诺塔,塔内有3个座A.B.C,A座上有n个盘子,盘子大小不等,大的在下,小的在上,如图所示. 有一个和尚想把这n个盘子从A座移到C座,但每次只能移动一个盘子,并且自移动过程中,3个座上的盘 ...

  6. BZOJ 1019: [SHOI2008]汉诺塔( dp )

    dp(x, y)表示第x根柱子上y个盘子移开后到哪根柱子以及花费步数..然后根据汉诺塔原理去转移... ------------------------------------------------ ...

  7. bzoj 1019: [SHOI2008]汉诺塔(打表)

    1019: [SHOI2008]汉诺塔 Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 1770  Solved: 1079 [Submit][Stat ...

  8. $bzoj1019-SHOI2008$ 汉诺塔 $dp$

    题面描述 汉诺塔由三根柱子(分别用\(A\ B\ C\)表示)和\(n\)个大小互不相同的空心盘子组成.一开始\(n\)个盘子都摞在柱子\(A\)上,大的在下面,小的在上面,形成了一个塔状的锥形体. ...

  9. 汉诺塔原理超详细讲解+变式例题

    目录 一.汉诺塔详解 1.详解 2.完整代码 二.汉诺塔公式:ans=2^n^-1 1.例题:P1760 通天之汉诺塔 三.变式1:牛牛的汉诺塔 四.变式2:P4285 [SHOI2008]汉诺塔 A ...

最新文章

  1. Nginx源码分析:启动流程
  2. VC#版DirectX开发入门详解
  3. 策划文档html,html代码整理.doc
  4. java编译时多态和运行时多态_运行时多态、编译时多态和重载、重写的关系(不区分Java和C#,保证能看懂!)...
  5. Node.js 使用axios读写influxDB
  6. mysql的主键有什么作用_mysql设置主键有什么用
  7. 覆盖所有面试知识点,送大厂面经一份!
  8. Support for the experimental syntax 'dynamicImport' isn't currently enabled
  9. 统计天数(洛谷-P1567)
  10. canvas基础之旅
  11. 【HNOI2004】L语言
  12. python print rdd_spark: RDD与DataFrame之间的相互转换方法
  13. 密码需要带特殊字符(二)
  14. AFNetworking-RequestSerializer
  15. Java程序性能优化:让你的Java程序更快、更稳定
  16. win10 外接usb摄像头_win10系统外接摄像头不能用怎么办
  17. 如何将图片文字转换成word
  18. 基于XPDL2.0的过程定义
  19. 复杂网络基础概念总结
  20. 大数据分析-智能消息推送策略

热门文章

  1. sql 优化之关于null 和数据类型
  2. python打开一个文件夹下所有txt文件-python读取一个目录下所有txt里面的内容方法...
  3. 学python以后是做什么工作-对话极客晨星:现在学Python 长大可以从事什么工作?...
  4. 有没有通俗易懂的python课程-有没有简单易懂的入门级Python辅导书或网络课程?...
  5. python爬虫代码房-Python爬虫一步步抓取房产信息
  6. python表白-情人节来了,教你个用 Python 表白的技巧
  7. python使用函数的优点-原来 Python 还有这些实用的功能和特点!
  8. python教程实例-python教程实例
  9. python语言是谁发明的咋读-Python简史
  10. python之父-Python之父宣布退休,但Python仍在吞噬世界