某寺庙前有三根柱子A、B、C,开始时A柱上有n个盘子,盘子大小不等,大的在下、小的在上(下图所示)。有一老和尚想把这n个盘子从A柱移到C柱上,但每次只允许移动一个盘子,且在移动过程序中每根柱子上都始终保持大盘在下、小盘在上。在移动过程中可以借助B柱。要求:正整数n由键盘输入。
Java实现:
import java.util.Scanner;
public class Test160916 {
public static void main(String[] args) {
System.out.println("请输入A塔上盘子的个数");
System.out.println("请输入一个整数后按回车键:");
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
hanoi(n, 'A', 'B', 'C');
scanner.close();
}
public static void move(char x, int n, char y){
System.out.println("把编号为["+n+"]盘从"+x+" 移动到 "+y);
}
public static void hanoi(int n,cha

本文介绍了如何使用Java和C语言解决经典的汉诺塔问题。通过递归算法,实现了将n个盘子从柱子A移动到柱子C,过程中借助柱子B并保持大盘子始终在小盘子下方。文章提供了具体的代码示例及运行输出,展示了解决方案的详细步骤。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



