用java写了一个汉诺塔
生活随笔
收集整理的這篇文章主要介紹了
用java写了一个汉诺塔
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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');}
}
總結
以上是生活随笔為你收集整理的用java写了一个汉诺塔的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ***Redis hash是一个stri
- 下一篇: ARM立即数讲解--LDR和MOV的区别