博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用java写了一个汉诺塔
阅读量:5950 次
发布时间:2019-06-19

本文共 979 字,大约阅读时间需要 3 分钟。

package com.brzhang;/** * 汉诺塔 * 开始盘子全部都放在第一根柱子上 * 目的:将第一根柱子上的盘子全部移动到第三根柱子上,规则是不能编号较大的盘子放在编号交小的盘子上面。 * */public class HanoTa {    private long steps = 1l;    /**     *     * @param n 盘子个数     * @param from 第一根柱子     * @param assist 第二根柱子     * @param to 第三根柱子     */    public void hannota(int n,char from ,char assist,char to){        if(n == 1){            move(n,from,to);        }        else{            //将上面的n-1个盘子从from柱子移动到assist柱子,借助to柱子            hannota(n-1,from,to,assist);            //将最低下的盘子从from柱子移动到to柱子            move(n,from,to);            //将其余的n-1个盘子从assite柱子移动到to柱子借助from柱子            hannota(n-1,assist,from,to);        }    }    /**     * 移动盘子,从from移动到to借助assite     *     * @param from     * @param to     */    public void move(int n,char from,char to){        System.out.printf("steps " +(steps++) +"  move [pantzi "+n+ "] from "+from+" to "+to+"\n");    }    public static void main(String[] args) {        new HanoTa().hannota(10,'A','B','C');    }}

转载地址:http://hrsxx.baihongyu.com/

你可能感兴趣的文章
Shift Operations on C
查看>>
HTTP长轮询和短轮询
查看>>
【BZOJ 1877】 [SDOI2009]晨跑
查看>>
【BZOJ 1013】 [JSOI2008]球形空间产生器sphere
查看>>
Java Decompiler Plugin For Eclipse IDE
查看>>
Python __init__.py 作用详解
查看>>
Python3 GUI开发(PyQt)安装和配置
查看>>
在UnrealEngine中用Custom节点实现径向模糊
查看>>
Linux 套接字通信笔记(一)
查看>>
汉诺塔——各种编程范式的解决
查看>>
poi读写Excel文件
查看>>
Android闹钟开发与展示Demo
查看>>
静态库介绍与简单演练及同名资源冲突解决(.a格式的静态库)
查看>>
layoutSubviews
查看>>
67. Add Binary
查看>>
BZOJ 4247 挂饰 01背包
查看>>
Codeforces Round #432 (Div. 2)
查看>>
填充与步幅
查看>>
poj 3264 Balanced Lineup (线段树)
查看>>
每日一个机器学习算法——机器学习实践
查看>>