Java 中的递归斐波那契算法
斐波那契数列是一种数列,其中的每个数字都是前两个数字之和。可以使用递归方法获取斐波那契数列中某特定位置的数字。
演示该方法的程序如下
示例
public class Demo { public static long fib(long n) { if ((n == 0) || (n == 1)) return n; else return fib(n - 1) + fib(n - 2); } public static void main(String[] args) { System.out.println("The 0th fibonacci number is: " + fib(0)); System.out.println("The 7th fibonacci number is: " + fib(7)); System.out.println("The 12th fibonacci number is: " + fib(12)); } }
输出
The 0th fibonacci number is: 0 The 7th fibonacci number is: 13 The 12th fibonacci number is: 144
接着让我们来理解一下上面的程序。
fib() 方法计算第 n 个位置的斐波那契数。如果 n 等于 0 或 1,它将返回 n。否则,它将递归调用自身并返回 fib(n - 1) + fib(n - 2)。展示该方法的代码片段如下所示
public static long fib(long n) { if ((n == 0) || (n == 1)) return n; else return fib(n - 1) + fib(n - 2); }
在 main() 中,对 fib() 方法使用不同的值进行调用。展示该方法的代码片段如下所示
public static void main(String[] args) { System.out.println("The 0th fibonacci number is: " + fib(0)); System.out.println("The 7th fibonacci number is: " + fib(7)); System.out.println("The 12th fibonacci number is: " + fib(12)); }
广告