递归的应用——斐波那契数列汉诺塔(Java实现)
Posted 人工智能之路上的菜鸡
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了递归的应用——斐波那契数列汉诺塔(Java实现)相关的知识,希望对你有一定的参考价值。
package ch06; public class Fibonacci { public static int getNumber(int n) { if(n == 1) { return 0; } else if(n == 2){ return 1; } else { return getNumber(n - 1) + getNumber(n - 2); } } }
package ch06; public class TestFibonacci { public static void main(String[] args) { System.out.println(Fibonacci.getNumber(5)); } }
package ch07; public class HanoiTower { /** * 移动盘子 * topN:移动的盘子数 * from:起始塔座 * inter:中间塔座 * to:目标塔座 */ 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); } } }
package ch07; public class TestHanoiTower { public static void main(String[] args) { HanoiTower.doTower(5, ‘A‘, ‘B‘, ‘C‘); } }
以上是关于递归的应用——斐波那契数列汉诺塔(Java实现)的主要内容,如果未能解决你的问题,请参考以下文章
go 实现几个递归经典案例(阶乘斐波那契数列二分查找汉诺塔)
Python基础——递归及其经典例题(阶乘斐波那契数列汉诺塔)