汉诺塔问题
运用分治思想和递归算法解决
public class Hanoi {
public void hanoi(int n,char a,char b,char c){//a为初始塔,b为中介塔,c为目标塔
if(n==1)
{
System.out.print("将第1个从"+a+"→"+c+"\n");
}
else
{
hanoi(n-1,a,c,b);//将n-1个塔由初始塔移动到中介塔
System.out.print("将第"+n+"个从"+a+"→"+c+"\n");//将最大的盘移动到目标塔
hanoi(n-1,b,a,c);//将n-1个塔由中介塔移动到目标塔
}
}
public static void main(String args[]){
Hanoi tset = new Hanoi();
tset.hanoi(3,'A','C','B');
}
}