用递归算河内塔,不知道怎么调用的。
public class second{public static void move(int n,char from,char to,char aux){
if(n==1){
System.out.println("zai将#1盘从"+from+"移到"+to);
}else{
move(n-1,from,aux,to);
System.out.println("将#"+n+"盘从"+from+"移到"+to);
move(n-1,aux,to,from);
}
}
public static void main(String[] args){
move(3,'A','C','B');
}
}
结果:
zai将#1盘从A移到C
将#2盘从A移到B
zai将#1盘从C移到B
将#3盘从A移到C
zai将#1盘从B移到A
将#2盘从B移到C
zai将#1盘从A移到C
这个程序的两个递归没懂,不知道怎么调用的,就是先用一个还是两个递归一起用的。
move(n-1,from,aux,to);
System.out.println("将#"+n+"盘从"+from+"移到"+to);
move(n-1,aux,to,from);
还有实参传到形参是不是只传第一次,后面递归的时候就是调用自己,比如第三步,zai将#1盘从C移到B 这步都不知道是那句语句输出来的。谢谢。。。。