一、斐波那契数列public class Fibonacci {
public static int getNumber(int n){
if(n==1){
return 0;
}else if(n==2){
return 1;
}else{
return getNumber(n-2)+getNumber(n-1);
}
}
}
public class TestFibonacci {
public static void main(String[] args){
System.out.println(Fibonacci.getNumber(5));
}
}
二、汉诺塔public class HanoiTower {
public static void doTower(int TopN,char from,char inter,char to){
if(TopN==1){
System.out.println("盘子1从"+from+"塔到"+to+"塔");
}else{
doTower(TopN-1,from,to,inter);
System.out.println("盘子"+TopN+"从"+from+"塔到"+to+"塔");
doTower(TopN-1,inter,from,to);
}
}
}public class TestHanoiTower {public static void main(String[] args){
HanoiTower.doTower(3, 'A', 'B', 'C');
}
}
本文通过两个经典案例——斐波那契数列和汉诺塔问题,深入浅出地介绍了递归算法的设计思想及实现方法。斐波那契数列采用递归方式计算指定位置的数值;汉诺塔问题则展示了如何利用递归来解决复杂问题,同时通过实例演示了盘子移动的具体步骤。
942

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



