汉诺塔:JAVA的递归实现

  • 题目在这里插入图片描述
  • 实现
package 蓝桥;

import java.util.Scanner;

public class Hanoi {
static void hanoi(int n,char start,char mid,char end) {
	if(n==1) {
		System.out.println(n+"从"+start+"到"+end);
		return;
	}
	hanoi(n-1,start,end,mid);
	System.out.println(n+"从"+start+"到"+end);
	hanoi(n-1,mid,start,end);
	
}
public static void main(String[] args) {
	Scanner sc=new Scanner(System.in);
	int n=sc.nextInt();
	hanoi(n,'A','B','C');
}
}

  • 结果及思路在这里插入图片描述
    在这里插入图片描述
    基本上自己手推一下就可以理解了,就是将大问题分解为小问题,这也是递归的核心思想
发布了41 篇原创文章 · 获赞 1 · 访问量 1485

猜你喜欢

转载自blog.csdn.net/qq_44467578/article/details/103910335