课程2 (2)汉诺塔问题
汉若塔问题
1.设计思路:将复杂的问题简单化,移动中间的一块积木,需将小的的移动到空白的柱子,将中间的移动到目标柱子。再将小的移动回来。
2.程序源代码:
//信1605 1 20163529 刘兴达
package hannuota;
import java.util.Scanner;
public class Task{
public static void move(int n, int startPole, int endPole) {
if (n == 0) {
return;
}
int intermediatePole = 6 - startPole - endPole;
move(n - 1, startPole, intermediatePole);
System.out.println("Move " + n + " from " + startPole + " to "
+ endPole);
move(n - 1, intermediatePole, endPole);
}
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入汉诺塔的数");
int m=scanner.nextInt();
move(m, 1, 3);
}
}
3.结果截图: